官术网_书友最值得收藏!

How it works...

The basic idea behind ssdeep is to combine a number of traditional hashes whose boundaries are determined by the context of the input. This collection of hashes can then be used to identify modified versions of known files even when they have been modified by insertion, modification, or deletion.

For our recipe, we began by creating a set of four test strings meant as a toy example to illustrate how changes in a string will affect its similarity measures (step 1). The first, str1, is simply the first sentence of Lorem Ipsum. The second string, str2, differs in the capitalization of m in magna. The third string, str3, is missing the word magna altogether. Finally, the fourth string is an entirely different string. Our next step, step 2, is to hash the strings using the similarity hashing ssdeep library. Observe that similar strings have visibly similar similarity hashes. This should be contrasted with traditional hashes, in which even a small alteration produces a completely different hash. Next, we derive the similarity score between the various strings using ssdeep (step 3). In particular, observe that the ssdeep similarity score between two strings is an integer ranging between 0 and 100, with 100 being identical and 0 being dissimilar. Two identical strings will have a similarity score of 100. Changing the case of one letter in our string lowered the similarity score significantly to 39 because the strings are relatively short. Removing a word lowered it to 37. And two completely different strings had a similarity of 0.

Although other, in some cases better, fuzzy hashes are available, ssdeep is still a primary choice because of its speed and being a de facto standard.

主站蜘蛛池模板: 武隆县| 新泰市| 塔城市| 基隆市| 泾阳县| 大理市| 禹城市| 平昌县| 分宜县| 云林县| 三门峡市| 囊谦县| 芜湖县| 潼南县| 吴桥县| 筠连县| 河东区| 吉林市| 青田县| 贵港市| 昌吉市| 辽宁省| 成安县| 潜山县| 龙陵县| 藁城市| 临江市| 盐池县| 沅江市| 梧州市| 南平市| 泰来县| 哈巴河县| 康马县| 泉州市| 同德县| 柳州市| 石景山区| 柳州市| 新营市| 商河县|