Men的博客

欢迎光临!

0%

js国密算法和微信isc授权

3.加密
国密算法由国家密码局发布,包含SM1\ SM2\ SM3\ SM4\ SSF33算法;国际算法由美国的安全局发布,是现今最通用的商用算法。今天就以分组密码算法(SM4)、公钥密码算法(SM2)、摘要算法(SM3)
import { sm2,sm3 } from ‘sm-crypto’
const originalData = JSON.stringify(config.data)
const encryptedData = sm2.doEncrypt(originalData, publicKey, 1);
const sm3data = sm3(originalData);

4.微信isc授权
//获取微信code
getWxCode(){

var wx_agentid = '1001358';
var sURL ='https:connect/oauth2/authorize?';
sURL+='appid=12345676543';  
sURL+='&redirect_uri='+encodeURIComponent('zipapp://local.host/index.html');
sURL+='&response_type=code';
sURL+='&scope=SCOPE';
sURL+='&state=STATE';
sURL+='&agentid='+wx_agentid;
sURL+='#wechat_redirect';
window.location.href = sURL; 
alert("获取Code请求Url = " + sURL);

},
getUrlCode() {
var query = window.location.search.substring(1)
if (query) {
var vars = query.split(‘&’)
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split(‘=’)
if (pair[0] == ‘code’) {
return pair[1]
}
}
}
return null
},
async iscLogin() {
var code = this.getUrlCode()
if (code) {
return new Promise((resolve, reject) => {
var sURL =
‘http:/kkkk’
var param = {
CODE: code,
appId: 124543,
}
axios({
method: ‘post’,
url: sURL,
data: param,
headers: {},
})
.then(function (res) {
//alert(‘获取Ticket成功 = ‘ + JSON.stringify(res))
if (res.data.data.ticket) {
getUserInfoByTicket(res.data.data.ticket)
.then((res1) => {
if (res1.account) {
sessionStorage.setItem(‘username’, res1.account)
resolve(1)
} else {
alert(‘获取用户信息失败 = ‘ + JSON.stringify(res1))
resolve(-1)
}
})
.catch((err) => alert(err))
} else {
resolve(-1)
}
})
.catch(function (err) {
alert(‘获取Ticket失败 = ‘ + JSON.stringify(err))
resolve(-1)
})
})
} else {
this.getWxCode()
return 0
}
},