在java中实现对字符串进行哈希sah-1加密过程如下:
public static String getExpandUserID(String UID) throws Exception
{
return "EU" + Base64.getEncoder().encodeToString(Test.doDigestSHA1(UID.getBytes("UTF-8")));
}
/**
* 对给定字节数组计算SHA-1哈希值
*
* @param bSrc
* @return
* @throws Exception
*/
public static byte[] doDigestSHA1(byte[] bSrc) throws Exception
{
try
{
MessageDigest digest = MessageDigest.getInstance("SHA-1");
digest.update(bSrc);
return digest.digest();
}
catch (Exception e)
{
throw new Exception("SHA1Digest:" + e.getMessage());
}
}
将其在python2.7中实现的过程如下:
import hashlib
import base64
def sha1_str(data):
'''
将字符串进行sha-1家吗
:param data: 加密前字符串
:return: 加密后的字符串
'''
return hashlib.sha1(data).digest()
def b64encode_str(data):
'''
将字符串进行b64位转码
:param data: 转码前字符串
:return: 转码后字符串
'''
return base64.b64encode(data)
print b64encode_str(sha1_str("123456"))
hash.digest()
返回,作为二进制数据字符串值
hash.hexdigest()
返回,作为十六进制数据字符串值