MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法)
MD5算法具有以下特点:1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、容易计算:从原数据计算出MD5值很容易。3、抗修改性:对原数据进行任何改动,哪怕只修改1个字节,所得到的MD5值都有很大区别。4、强抗碰撞:已知原数据和其MD5值,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。
第一种
//md5 生成消息摘要 不可逆 public void md5(View view) throws NoSuchAlgorithmException { //获取生成再要方法 md5 MessageDigest messageDigest = MessageDigest.getInstance("md5"); //生成摘要 byte[] digest = messageDigest.digest(edit.getText().toString().getBytes()); //显示摘要 text.setText(Base64.encodeToString(digest,Base64.DEFAULT)); }
第二种:
//md5 生成消息摘要 不可逆 public void md5(View view) throws NoSuchAlgorithmException { //获取生成再要方法 md5 MessageDigest messageDigest = MessageDigest.getInstance("md5"); //update 方法会添加拼接字符串 等同于stringbuilder的appen方法 最后在digest就行 messageDigest.update(edit.getText().toString().getBytes()); messageDigest.update(edit.getText().toString().getBytes()); //生成摘要 byte[] digest = messageDigest.digest(); //显示摘要 text.setText(Base64.encodeToString(digest,Base64.DEFAULT)); }