首页 > 编程知识 正文

md5属于加密算法吗,代码实现md5加密算法

时间:2023-05-05 06:59:50 阅读:10256 作者:4883

第一,首先知道什么是不可逆加密算法

有损加密算法的特点是加密过程中不需要使用密钥。 输入明文后,系统直接经过加密算法处理成密文。 此加密数据无法用***解密。 重新输入明文,再次用相同的有损加密算法处理,得到相同的密文,被系统重新识别后,才能真正解密。

二. MD5 APP应用

1、MD5的典型应用是对一条信息(消息)生成信息摘要(消息摘要),防止篡改。 具体来说,文件的MD5值就像这个文件的“数字指纹”。 每个文件的MD5值都不同。 对文件进行任何更改都会改变MD5的值,即相应的“数字指纹”。 例如,下载服务器为一个文件预先提供了MD5值,用户下载该文件后,用我这个算法重新计算下载文件的MD5值,通过比较这两个值是否相同,进行下载

2、数字签名MD5的典型应用是对一段消息(字节串)生成fingerprint (指纹),防止“篡改”。 例如,可以将一个词写在名为readme.txt的文件中,为该readme.txt生成MD5的值并记录下来,然后将该文件传播给其他人。 如果其他人修改了文件的内容,则对该文件重新计算MD5的值,就会发现“两个MD5的值不同”。 有了另一个第三方认证机构,MD5还可以防止文档作者“拒绝”。 这就是所谓的数字签名APP。

加密代码: public class m D5 encryption { privatem D5 encryption (} publicstringgetencryption (stringoriginstring ) string result=if=null ) { try { //将加密方式指定为m D5消息数字=消息数字. getinstance (MD5 ) }。 //进行加密运算的byte bytes [ ]=MD.digest (originstring.getbytes (); for(intI=0; i bytes.length; 将I//整数转换为十六进制格式的字符串,在此将其与运算为0xff的理由是为了确保转换结果为32位stringstr=integer.to hex string (bytes [ I ]0x ff )。 if(str.length(==1) { str ='F '; } result =str; } catch (nosuchalgorithmexceptione ) { e.printStackTrace ); } } return result.toUpperCase (; }

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。