|
|
1
5
从技术上讲,在连接之前甚至不需要MD5 ID来保证足够的安全性。 但是,我通常建议使用sha-256或sha-512,除非有一些严重的性能问题(比如嵌入式编程)。 |
|
|
2
3
这真的取决于你想保护什么,但可能不是。我看不出任何原因 不 使用更强大的哈希函数。 |
|
|
3
3
假设这是用于身份验证,我将使用 HMAC . 参见例如 FIPS PUB 198 .例如,这允许您使用安全哈希函数(而不是MD5),按照说明截断结果,仍然可以获得安全令牌。 |
|
|
4
2
不要使用MD5。它坏了。我不能相信所有人的Verisign仍然使用MD5。有测试套件可用于确定MD5的哈希冲突,以用于中断MD5哈希比较。 绝对最低限度地使用sha-1。我建议使用SHA-5。 |
|
5
1
如果可以很容易地猜到ID,那么除非密钥很长,否则这并不是很安全。 对于6个字符的密钥,我的电脑可以在大约一天的时间内基于MD5强制一个密钥值。能够使用更快/更多计算机的人可以大大减少这一时间。对于键中的每个额外数字,中断时间增加10倍。由于ID很容易被猜到,因此它是MD5值的计算结果,因此它不会增加反向获取密钥的难度。 |
|
|
6
1
我建议使用其他解决方案,或者(如果不可接受)向MD5生成例程中添加更多数据。如果您的密钥是常量,并且我能够反向工程一个哈希,那么我可以为任何其他ID生成正确的密钥。 如果您将数据中存储的随机salt加上当前时间(如果与您正在保护的记录相关联)构建到MD5生成中,那么它将显著增加攻击的难度。 参见: |
|
|
Michael · 某些Windows客户端上的命名管道安全问题 1 年前 |
|
|
adamency · 是否可以从Go二进制文件的源代码中检索字符串? 1 年前 |
|
|
AlboSimo · PayPal Api密钥安全 1 年前 |