国密SM4相关的API
sm4加密解密
通过“ zwexplorer.__gmUtils.sm4.encypt(gmRequest,callback(resp));”加密; 通过“ zwexplorer.__gmUtils.sm4.decrypt(gmRequest,callback(resp));”解密加密
原始数据(不超过2k):
解密
随机生成key和iv
function generate_randomstr(lengthArg, elemId) {
const length = lengthArg
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
let result = ''
for (let i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * characters.length))
}
$(elemId).val(result);
}
sm4加密
function encrypt() {
const content = $("#sm4_content").val();
const key = $("#sm4_key").val();
const iv = $("#sm4_iv").val();
const gmRequest = {
content: content,
key: key,
options: {
iv: iv
}
}
zwexplorer.__gmUtils.sm4.encrypt(gmRequest, (resp) => {
if (resp.resultCode === 0) {
$("#sm4_encrypt_result").val(resp.data);
} else {
$("#sm4_encrypt_result").val(resp.resultMessage);
}
})
}
sm4解密
function decrypt() {
const content = $("#sm4_encrypt_result").val();
const key = $("#sm4_key").val();
const iv = $("#sm4_iv").val();
const gmRequest = {
content: content,
key: key,
options: {
iv: iv
}
}
zwexplorer.__gmUtils.sm4.decrypt(gmRequest, (resp) => {
if (resp.resultCode === 0) {
$("#sm4_decrypt_result").val(resp.data);
} else {
$("#sm4_decrypt_result").val(resp.resultMessage);
}
})
}