md5加密以后的字符串长度
我下了一段用JAVA实现MD5加密的算法,不管输入字符串多长,加密后的字符串长度都是32位,我在网上看见有人说加密后的长度的为128位,到底是多少位?还是可以设置加密后字...
我下了一段用JAVA实现MD5加密的算法,不管输入字符串多长,加密后的字符串长度都是32位,我在网上看见有人说加密后的长度的为128位,到底是多少位?还是可以设置加密后字符串的长度?
展开
4个回答
展开全部
加密后为128位(bit),按照16进制(4位一个16进制数)编码后,就成了32个字符。MD5并不是加密算法zhidao,而是摘要算法。加密算法是可逆的,摘要算法是理专论上不可逆的,详细步骤:
1、md5算法主要应用在密码领域,为了防止明文传输密码的危险性,一般会用密码的md5值来代替密码本身。
2、md5算法的工具可以帮助我们计算字符串所对应的md5值。
3、首先创建一个MD5Utils工具类。
4、然后来写md5算法,事实上你不需要md5算法具体是怎么实现的,这里我们也只是调用了java自带的md5算法,只不过对其结果进行了优化,转换成了16进制的字符串了而已。
5、虽然md5本身是不可逆的,但是因为其唯一性,会遭到遍历破解,所以一般使用md5的时候还会进行加盐操作,即在md5运算结果上再加入自己的加密算法,例如这里为将结果都加上字符串yan,这样就不容易被破解了,加盐的加密算法也可以自己直接封装在工具类中。
展开全部
概念普及一下:
MD5 并不是加密算法,而是摘要算法。加密算法是可逆的,摘要算法是理论上不可逆的。如果说MD5是加密算法,那还不如称他是超级压缩算法呢,因为你输入任意长度的明文给他,结果都是一个定长16 、32、64。
MD5 并不是加密算法,而是摘要算法。加密算法是可逆的,摘要算法是理论上不可逆的。如果说MD5是加密算法,那还不如称他是超级压缩算法呢,因为你输入任意长度的明文给他,结果都是一个定长16 、32、64。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加密后为128位(bit),按照16进制(4位一个16进制数)编码后,就成了32个字符,而不是32位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MD5 加密有32位 16位的
16位就是32位的中间16位
没听过128位的~
16位就是32位的中间16位
没听过128位的~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询