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

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.

主站蜘蛛池模板: 盘锦市| 潼关县| 苏尼特左旗| 开江县| 海晏县| 汶上县| 黔西县| 五指山市| 迭部县| 荥经县| 瑞安市| 朝阳县| 法库县| 宣化县| 拉萨市| 昭平县| 莆田市| 黔西县| 博野县| 老河口市| 崇州市| 疏勒县| 光泽县| 开江县| 凯里市| 东乡族自治县| 松溪县| 邵阳县| 灵武市| 桐乡市| 平乐县| 大化| 潜江市| 阳原县| 博罗县| 当阳市| 南开区| 信丰县| 宁化县| 萝北县| 云霄县|