Checksum үүсгэх
Жишээ код дотор тусгагдсан key нь банк болон мерчант хоорондоо урьдчилан тохирсон түлхүүр, message нь өгөгдсөн томъёолол буюу датануудын нэгдлийн дагуу гаргасан утга байна.
Код
private static String encode(String key, String data) throws Exception {
byte[] bytes = Hex.decodeHex(key.toCharArray());
key = new String(bytes, StandardCharsets.UTF_8);
Mac sha256_HMAC = Mac.getInstance(HMACGenerator.HMAC_SHA256);
SecretKeySpec secret_key = new SecretKeySpec(key.getBytes(StandardCharsets.UTF_8), "HmacSHA256");
sha256_HMAC.init(secret_key);
return byteArrayToHex(sha256_HMAC.doFinal(data.getBytes(StandardCharsets.UTF_8)));
}
function hmac($key, $message){
return hash_hmac('sha256', $message, $key);
}
var crypto = require("crypto");
function hmac256(key, message) {
const buffer = Buffer.from(key, "hex");
key = buffer.toString("utf-8");
let hash = crypto.createHmac("sha256", key).update(message);
return hash.digest("hex");
}
private static string HashHMACHex(string key, string message)
{
var encoding = new ASCIIEncoding();
var hash = new HMACSHA256(encoding.GetBytes(key));
return BitConverter.ToString(hash.ComputeHash(encoding.GetBytes(message))).Replace("-", "").ToLower();
}
import hmac
import hashlib
def hmac256(key,message):
digest_maker=hmac.new(key,message, hashlib.sha256)
return digest_maker.hexdigest()