前端能够实现md5吗?

cuthead
  • 0
新手上路,请多包涵

https://www.oschina.net/quest... @enjoy:首先谢谢大家的帮忙,我还是想追问一下,用MD5算法是生成密钥,再用这个密钥去对文件数据进行加密,加密的过程仅仅是简单的与运算,密钥确实是不可逆,正是因为这样才使密钥更加安全有效。难道这样的算法就不能叫加密算法?难道我们计算机学科需要如此死抠文字定义?计算机如此迅速发展的时代,今天说的事明天就不一定是这么一回事了。我个人觉得计算机应该更加注重应用与实践,而不是理论的字眼。在这里还是谢谢大家了。。 (2011/07/24 12:59)

这么说md5无法在前端实现吧?那么blueimp javascript md5是如何实现的?

回复
阅读 1.2k
3 个回答
Fractal
  • 4.3k

crypto-js

密码学里
加密叫 encrypt
解密叫 decrypt
摘要叫 digest

md5 是摘要算法,不是 加解密算法
摘要算法不可逆,比如一个 1 GB 文件,你 md5完了才 128个bit,你觉得能复原回原来的1GB文件的内容么?

凡是MD5称为加密算法的,都是有点问题的

摘要算法,MD5 前端有类似的库呀。

如果说你的密码短,其实是可逆的,这个可逆不是说能计算出来,而是他们做了一个字典,直接就有对应关系了。

再说了 MD5 本身就不是做加密用的。 你可以认为他就是提取个特征码,类似于上传文件的时候搞个特征值。其实他还会重复,所以一般来说还会加个时间

首先明确一个概念,MD5并不是加密,而仅仅是特征运算得出一个结果而已(特征码),它在信息安全领域起的作用是防止篡改。
而且这个特征码并不保证源文件A得到的特征码不与源文件B得到的特征码相等,只是这样碰撞可能性概论随着特征码位数增加下降特别快,而且要获得AB意义类似的碰撞可能性很低而已。可以说MD5是一种特殊的校验码。

不知你所谓的前端能实现MD5是指什么?前端计算MD5是没有任何问题的,唯一的障碍是计算数据量和计算时间均衡问题(效率问题),此外可能的问题是前端是否能读取某些有权限的数据问题(在浏览器前端环境中,相应文件读取其实受到一定现在,如果是类技术开发的纯桌面程序或者APP是不受该限制的)。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏