Rau*_*aul 0 javascript php hash md5
可能重复:
如何使用javascript计算文件的md5哈希
我可以在发送到php页面之前在javascript中将密码转换为md5吗?
是否有任何函数或方法使用JavaScript加密字符串作为PHP中的散列?我要求用户设置密码,我不希望有密码以字符串格式来到服务器上,然后再对php进行哈希处理.
md5
是一种散列方法,而不是加密方法.这是一种可以用任何语言实现的通用算法,因此我确信存在JavaScript版本.
但是,你的逻辑是有缺陷的.为什么要在客户端散列密码?然后可以在到服务器的途中捕获散列密码,这比服务器单独散列它更糟糕.这没有提供任何保护.
在相关的说明中,md5
是一个非常不安全的哈希.使用bcrypt
.
散列与加密之间的区别在于前者创建摘要,而后者创建可以解密的加密内容.哈希摘要无法转换回原始数据,因为它会丢失(故意).散列用于身份验证,加密用于保密.
为了扩展客户端哈希最多与服务器端哈希一样有效的事实,请考虑在将哈希摘要与存储在数据库中的值进行比较时进行身份验证的事实.
您存储的值是md5
原始密码的值.要进行身份验证,您必须接收密码,使用md5
,然后将其与数据库中的摘要进行比较.这意味着md5
最多只能调用一次.如果你想在JS中调用它,那么它将不会在php中调用.这意味着,如果有人拦截了md5
它,就像拦截原始密码一样有效,因为他们可以将邮件md5
发送到您的服务器,而不会进行额外的散列.
如果你在服务器端也做了一个md5
哈希,那就没有任何区别,因为收到了相同的未散列值(相对于PHP操作).事实上,它不太安全,因为重复相同的散列会增加碰撞的可能性.
归档时间: |
|
查看次数: |
1563 次 |
最近记录: |