Md5、blowfish、twofish加密算法的区别和流程是什么

Red*_*ing 2 encryption

我一直想知道并在网上冲浪关于 Md5、河豚和双鱼加密算法的差异和过程,但我找不到确切的答案,虽然我是个菜鸟..温和一点..任何答案都会有很大帮助..

Ian*_*oyd 5

不太确定你在追求什么,但你必须区分加密散列

示例加密算法:

  • DES
  • CAST-128
  • 河豚
  • 双鱼
  • CAST-256

示例哈希算法

  • MD5
  • SHA-1
  • SHA-256

加密是一个可逆过程,您可以在其中取回原始数据。

散列是一种单向过程,可以将您的所有数据归结为一个 20 字节的“指纹”。


只是为了扩展散列:

          20 MB file
              |
              ?
         [MD5 hash]
              |
              ?
0xe57262ce00045e850fd5392073a6e9cd
Run Code Online (Sandbox Code Playgroud)

散列与加密非常不同。如果您散列数据,则无法取回。

想象散列就像模加:

 37
+69
+28
===
134 mod 10 = 4
Run Code Online (Sandbox Code Playgroud)

或者更形象地:

      37,69,28
         |
         ?
[Ian's hash algorithm]
         |
         ?
         4
Run Code Online (Sandbox Code Playgroud)

散列用于生成数据的“指纹”。这是一种方式,不可逆转。

由于您使用的是“聊天”程序,因此我假设您想消息进行加密。为此,您需要加密算法,而不是散列算法。

  • 正如伊恩所说,MD5 不是一种加密算法,而是一种散列算法。无论目标字符串有多长,它都会为您返回一个 32 个字符的字符串,并且不能“未散列”(您无法返回原始字符串)。可能发生的情况是,即使对于 1 个字符的字符串,它也会提供 32 个字符的哈希值,因此您会获得大量开销,这会导致它花费更长的时间。 (2认同)

归档时间:

查看次数:

3092 次

最近记录:

14 年,8 月 前