1.python
import hmac
import hashlib
import base64
encryptStr = 'appId' + appId + 'idNum' + idNum + 'name' + name # 被加密的
my_sign = hmac.new(appKey, encryptStr, hashlib.sha1).digest() # appKey为秘钥
my_sign = base64.b64encode(my_sign)
2.java
/**
* 生成加密字符串,并用Base64进行编码
*
* @param encryptText 需要加密的
* @param encryptKey 秘钥
* @return
*/
public static String hmacSHA1Encrypt(String encryptText, String encryptKey) {
byte[] result = null;
try {
//根据给定的字节数组构造一个密钥,第二参数指定一个密钥算法的名称
SecretKeySpec signinKey = new SecretKeySpec(encryptKey.getBytes("UTF-8"), "HmacSHA1");
//生成一个指定 Mac 算法 的 Mac 对象
Mac mac = Mac.getInstance("HmacSHA1");
//用给定密钥初始化 Mac 对象
mac.init(signinKey);
//完成 Mac 操作
byte[] rawHmac = mac.doFinal(encryptText.getBytes("UTF-8"));
result = Base64.getEncoder().encode(rawHmac);
} catch (Exception e) {
}
if (null != result) {
return new String(result);
} else {
return null;
}
}
3.golang
import (
"crypto/sha1"
"encoding/hex"
)
//加密
func sha1s(s string) string {
r := sha1.Sum([]byte(s))
return hex.EncodeToString(r[:])
}