最近项目上,通过比对存在SD卡上txt文件的sha1 值,判断该txt文件是否被非法篡改。
然后大概了解下其他常用加密算法,以下表格中的加密都是不可逆的;如果同样环境下加密同一段明文,安全度sha256>sha1>md5,耗时sha256>sha1>md5。
算法名称 | MD5 | SHA1 | SHA256 |
---|---|---|---|
摘要长度 | 128位(bit) 16字节(byte) | 160位(bit) 20字节(byte) | 256位(bit) 32字节(byte) |
运算步骤数 | 64 | 80 | 64 |
基本逻辑函数数目 | 4 | 4 | 6 |
常数数目 | 64 | 4 | 8 |
加密过程:
处理原文,设置常数,循环运算,拼接结果
应用java提供专门的各种常用的加密API java.security.MessageDigest