日期:2014-05-17  浏览次数:20719 次

java MD5 加密什么个意思?好没水准的问题啊!!
String str = "要加密的文字";
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
messageDigest.update(str.getBytes());
byte[] bs = messageDigest.digest();

加密 ,加密 ,意思是不是就是,str,经过“MD5”加密后,得到byte[] bs 数组,假如别人拿到了这个bs的内容,是不是在正常情况,不能破解得到“要加密的文字”这个原来 的字符串
------解决方案--------------------
就是字符串加密的一种算法,java.security.MessageDigest 中已经定义好了可以直接调用。因为MD5是不可逆的,就说即使你看到源程序和算法描述,也无法将一个MD5的值变换回原始的字符串。有兴趣的话你可以去研究一下实现代码。
------解决方案--------------------
是的。  。。。
------解决方案--------------------
对的。MD5加密是不可逆的
------解决方案--------------------
打个比方说吧,现在库中的用户敏感信息,比如密码,入库时保存的都是MD5加密过后的密文,明文并没有被记录。用户在登陆时输入密码,系统需要将用户输入的密码进行MD5加密,然后匹配这两个密文是否相同,相同则证明密码输入正确。再加上MD5加密理论上目前不可逆,所以达到了加密效果~
------解决方案--------------------
MD5是不可还原的,一般用来验证信息是否已经改变
------解决方案--------------------
MD5码用在文件上面比较多,例如很多网站都是在上传文件给别人下载的时候都提供了一个文件的md5码,如果你下载下来的文件通过md5加密和他不一致的话,说明这个文件就是被更改过,防止下载到有病毒(也就是被别人修改过)的文件。 不管是多大的文件,都只有一个对应的md5码,md5码就像是一个条形码一样。所有只有加密,没有解密。
------解决方案--------------------
工作中我们密码都是用md5加密后存储的,因为这样安全。就算你去数据库得到了密码md5码,你也不知道是什么,因为它不可逆。