資源簡介
ava.security.MessageDigest類用于為應用程序提供信息摘要算法的功能,如 MD5 或 SHA 算法。簡單點說就是用于生成散列碼。信息摘要是安全的單向哈希函數,它接收任意大小的數據,輸出固定長度的哈希值。關于信息摘要和散列碼請參照《數字證書簡介》
MessageDigest 通過其getInstance系列靜態函數來進行實例化和初始化。MessageDigest 對象通過使用 update 方法處理數據。任何時候都可以調用 reset 方法重置摘要。一旦所有需要更新的數據都已經被更新了,應該調用 digest 方法之一完成哈希計算并返回結果。
代碼片段和文件信息
import?java.security.MessageDigest;
import?java.security.NoSuchAlgorithmException;
public?class?SHA256?{
?public?static?String?Encrypt(String?strSrc)?{
????????MessageDigest?md?=?null;?//處理MD5或SHA算法對象
????????String?strDes?=?““;//加密之后字符串
????????byte[]?bt?=?strSrc.getBytes();//獲取加密前字符串字節數組
????????try?{
????????????md?=?MessageDigest.getInstance(“SHA-256“);//根據xxx算法實例化對象
????????????md.update(bt);//處理加密前字節數組
????????????byte[]?bts=md.digest();//計算并返回加密后字符數組
????????????String?tmp?=?null;
????????for?(int?i?=?0;?i? ????????????tmp?=?(Integer.toHexString(bts[i]?&?0xFF));//一個加密字節和?0xFF進行了與運算然后使用Integer.toHexString取得了十六進制字符串
????????????if?(tmp.length()?==?1)?{//補位
???????????? strDes?+=?“0“;
????????????}
????????????strDes?+=?t
評論
共有 條評論