MD5算是加密算法吗?
最近看到很多文章、书籍,都在说加密算法时,把MD5列入加密算法,或称自己在使用MD5进行数据加密(比较普遍)。
但是根据在下的孤陋寡闻,MD5 好像是一种散列算法。
根据解释,一般来说:
MD5哈希函数将任意长度的二进制字符串映射为固定长度的小型二进制字符串。加密哈希函数有这样一个属性:在计算上不大可能找到散列为相同的值的两个不同的输入;也就是说,两组数据的哈希值仅在对应的数据也匹配时才会匹配。数据的少量更改会在哈希值中产生不可预知的大量更改。
当前普遍MD5 算法的哈希值大小为 128 位。
我个人认为,加密算法因该是指那些可以将明文通过一定算法后得到密文,并且可以通过相对应的解密算法和密钥,计算出原来的明文。MD5算法好像不符合这个模式。
不知道大家是怎么认为的,非常想听一下大家的意见。
------解决方案--------------------MD5不是加密算法,是散列算法,或者叫做哈西算法。
加密算法一般指对称加密算法。
最近看到很多文章、书籍,都在说加密算法时,把MD5列入加密算法,或称自己在使用MD5进行数据加密(比较普遍)。
完全可以忽略那些文章,如果是书籍,请默哀……
------解决方案--------------------MD5的作用是对一段信息(message)生成信息摘要(message-digest),该摘要对该信息具有
唯一性,可以作为数字签名。用于验证文件的有效性(是否有丢失或损坏的数据),对用户
密码的加密,在哈希函数中计算散列值。
------解决方案--------------------不是加密算法
------解决方案--------------------我个人认为,加密算法因该是指那些可以将明文通过一定算法后得到密文,并且可以通过相对应的解密算法和密钥,计算出原来的明文。MD5算法好像不符合这个模式。
================
以上是你的“个人认为”^^
以下是我的“个人认为”:
加密可以是对称加密(如des,tripledes),非对称加密即公钥加密(如rsa),
单向加密(如md5)..
------解决方案--------------------是加密算法 类型上属于哈洗算法
------解决方案--------------------散列算法和加密算法不是一个级别的东西,无可比性
汗,这样说吧:“MD5算法可以运用到数据加密中”。
如果你愿意你也可以冒泡排序算法来做加密-_-!!!
//from 維基百科
算法的定义:
算法是指完成一个任务所需要的具体步骤和方法。也就是说给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态或输出数据。
算法的特征:
1 输入:一个算法必须有零个或多个输入量。
2 输出:一个算法应有一个或多个输出量,输出量是算法计算的结果。
3 确定性:算法的描述必须无歧义,以保证算法的执行结果是确定的。
4 有限性:算法必须在有限步骤内实现。注:此处“有限”不同于数学概念的“有限”,天文数字般的有限对于实际问题并无意义。
5 有效性:又称可行性。能够实现,算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现。
------解决方案--------------------md5是比较低级的加密算法,你可以看看动网论坛,里面的加密就是使用的md5
------解决方案--------------------是校验算法,不可恢复
------解决方案--------------------MD5不是加密算法,是散列算法,但可用于加密用途,如此而已...
------解决方案--------------------MD5是一种单向散列函数,单向散列函数的作用是将任何长度的一段数据散列成固定长度。常用于生成消息认证码等等,可以与非对称算法一起用于数字签名。 想具体了解可以参看 《应用密码学》
------解决方案--------------------如果非说MD5是“加密算法”的话
那MD5也是属于“不可逆加密算法”
即只能用于校验,不能对“加密”后的信息进行还原,因此常被用来在数据库中保存密码,这样即使数据库中的“密码”被盗取,也无法得知原文是什么
------解决方案--------------------真没想到这里竟然会有两颗星的人,竟然如此的领悟加密的概念,如此的素质。悲哀!
还有其它一些人认为MD5不是加密算法,痛!
MD5完全属于加密算法,算法(function函数)分成可逆和不可逆。MD5属于不可逆算法,从数学的角度来讲,这种散列函数不存在反函数,不存在对应的解密算法而已。
MD5主要应用在密码加密,数字签名验证,要求检查内容完整性的领域。
unix/linux操作系统对用户登陆密码的加密就是一个应用,把密文存在一个文件中即可。只有这样的加密,就算别人拿到密文,他也破解不了,得不到明文,这才达到安全的效果。
我们在往数据库中保存密码信息或其它一些重要的信息时都可以采用这种单向加密算法,密码比较也只是密文比较,非明文比较,外人永远不会知道明文是什么。
------解决方案--------------------散列是为了什么? 研究算法 不是研究文字
------解决方案--------------------当然算,MD5 是不可逆加密
难道白马就不是马了?
------解决方案--------------------支持楼上的,MD5不可逆的,(但是好象目前有方法逆了),但是也应该算是加密吧
一次性钥匙和万能钥匙 都是钥匙
------解决方案--------------------To 伴水清清
MD5(MD5(X + MD5(X + MD5(MD5(MD5(MD5(MD5(MD5(X)))))))) + X + "Zswang 路过 ") xor X;