package Encoder.SHA;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
/**
* MD5和SHA都是不可逆的加密算法,
*
*/
public class SHAUtil {
private static final String SHA = "SHA"; //和sha-1一样,都是160位
private static final String SHA1 = "SHA-1";
private static final String SHA256 = "SHA-256"; //256位
private static final String SHA512 = "SHA-512";//512位
private static final String MD5 = "MD5";//128位
public static String shaEncode(String str) throws UnsupportedEncodingException{
MessageDigest digest = null;
try{
digest = MessageDigest.getInstance(SHA1);
}catch (Exception e) {
// TODO: handle exception
e.getStackTrace();
}
byte[] bytestr = str.getBytes("UTF-8");
byte[] digest2 = digest.digest(bytestr);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < digest2.length; i++) {
int val = ((int) digest2[i]) & 0xff;
if (val < 16) {
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "崔c驰";
String str2 = "崔c驰";
String shaEncode = SHAUtil.shaEncode(str);
String shaString = SHAUtil.shaEncode(str2);
System.out.println(shaEncode);
System.out.println(shaString);
System.out.println("是否一致:"+shaEncode.equals(shaString));
}
}
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
/**
* MD5和SHA都是不可逆的加密算法,
* 验证一致性时:可以将加密过后的密文和明文,传输对方,
用同样的加密算法,对方将明文加密然后对比,是否一致
* @author CUICHUNCHI*
*/
public class SHAUtil {
private static final String SHA = "SHA"; //和sha-1一样,都是160位
private static final String SHA1 = "SHA-1";
private static final String SHA256 = "SHA-256"; //256位
private static final String SHA512 = "SHA-512";//512位
private static final String MD5 = "MD5";//128位
public static String shaEncode(String str) throws UnsupportedEncodingException{
MessageDigest digest = null;
try{
digest = MessageDigest.getInstance(SHA1);
}catch (Exception e) {
// TODO: handle exception
e.getStackTrace();
}
byte[] bytestr = str.getBytes("UTF-8");
byte[] digest2 = digest.digest(bytestr);
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < digest2.length; i++) {
int val = ((int) digest2[i]) & 0xff;
if (val < 16) {
hexValue.append("0");
}
hexValue.append(Integer.toHexString(val));
}
return hexValue.toString();
}
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "崔c驰";
String str2 = "崔c驰";
String shaEncode = SHAUtil.shaEncode(str);
String shaString = SHAUtil.shaEncode(str2);
System.out.println(shaEncode);
System.out.println(shaString);
System.out.println("是否一致:"+shaEncode.equals(shaString));
}
}