一、SHA算法
SHA由美國标準與技術研究所(NIST)設計并于1993年發表,該版本稱為SHA-0,由于很快被發現存在安全隐患,1995年釋出了SHA-1。2002年,NIST分别釋出了SHA-256、SHA-384、SHA-512,這些算法統稱SHA-2。2008年又新增了SHA-224。由于SHA-1已經不太安全,目前SHA-2各版本已成為主流。
二、常用的SHA-256算法
1、SHA-256:32個位元組、64個字元、256個bit
2、使用方式和MD5方法一樣,隻是傳入算法名不一樣
3、java版
String bs= "逆向有你a"; MessageDigest shasf=MessageDigest.getInstance("SHA-256");//我要用md5算法 shasf.update(bs.getBytes());//我要加密的資料 byte[] ressha = shasf.digest();//給我加密 System.out.println("SHA-256加密(位元組):"+Arrays.toString(ressha)); System.out.println("SHA-256加密(字元串):"+bytes2HexString(ressha)); MessageDigest shasf1 = MessageDigest.getInstance("sha-256"); shasf1.update("逆向".getBytes(StandardCharsets.UTF_8)); shasf1.update("有你".getBytes(StandardCharsets.UTF_8)); byte[] ressha1 = shasf1.digest("a".getBytes(StandardCharsets.UTF_8)); System.out.println(bytes2HexString(ressha1)); 運作結果: SHA-256加密(位元組):[-55, 52, -50, 36, -123, 97, 5, 78, -89, -81, -84, -15, -22, 80, 62, -1, -65, -124, -122, -49, -56, -56, 23, -2, 97, 99, -26, 71, 88, -111, 103, -88] SHA-256加密(字元串):C934CE248561054EA7AFACF1EA503EFFBF8486CFC8C817FE6163E647589167A8 C934CE248561054EA7AFACF1EA503EFFBF8486CFC8C817FE6163E647589167A8
4、JS版,同樣需要CryptoJS加密庫配合
var CryptoJS=module.exports; function test() { return CryptoJS.SHA256("逆向有你a").toString().toUpperCase(); } console.log(test());
禁止非法,後果自負
歡迎關注公衆号:逆向有你
歡迎關注視訊号:之乎者也吧
歡迎報名安卓逆向教育訓練,報名微信(QQ):335158573
教育訓練課程内容