总得放点代码,不然也不好意思在掘金混啊。
const rootPath = '../../';
var request = require(rootPath + 'common/request.js');
var common = require(rootPath + 'common/common.js');
var config = require(rootPath + 'common/config.js');
//var CryptoJS = require(rootPath + 'util/crypto-js.js');
var Encrypt = require(rootPath + 'util/jsencrypt.js');
//var RSA = require(rootPath + 'util/wx_rsa.js');
var privateKey = ''
function heredoc(fn) {
//return fn.toString().split('\n').slice(1,-1).join('\n') + '\n'
return fn.toString().split('\n').slice(1,-1).join('') + ''
}
privateKey = heredoc(function(){/*
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAh2fqH4cZoHQsVUuer5BjMaPpZwT5UGxNWTieMzyFfOGPmBju
Kkv0ZayhR4ljzQ0K4NF2dMBbmSlraD3o+76Kjb0xZ56DqP9fPubzD77MrXJFrCjH
//省略KEY数据
-----END RSA PRIVATE KEY-----
*/});
var options = {
scanCode() {
var myThis = this;
var encStr='TlcgbGeQAd3TJmM4Fj/OJ6iwWKSGWE/tPc1IFWdJn6Owkvw/sS6ckDO9AOUaf/Zm4HRK//省略KEY数据=='
var decrypt = new Encrypt.JSEncrypt()//创建解密对象实例
//之前ssl生成的秘钥
var priKey = privateKey
decrypt.setPrivateKey(priKey)//设置秘钥
var uncrypted = decrypt.decrypt(encStr)//解密之前拿公钥加密的内容
console.log(uncrypted)
//var decrypt_rsa = new RSA.RSAKey();
//console.log(privateKey)
//decrypt_rsa = RSA.KEYUTIL.getKey(privateKey);
//console.log('解密RSA:')
// console.log(decrypt_rsa)
//const decryptor = new Encrypt.JSEncrypt();
//decryptor.setPrivateKey(privateKey);

//console.log(encStr + "00--00")
//const rsa=new JSEncrypt();
//mi = RSA.b64tohex(mi);
//mi=wx.base64ToArrayBuffer('mi')
// encStr = RSA.b64tohex(encStr);
//console.log(encStr + "001--100")
//var decStr = decrypt_rsa.decrypt(encStr)
//console.log("解密结果:" + decStr)
//var ming = decryptor.decrypt(mi);
//console.log("密文:", mi);
//console.log("明文:", ming);
wx.scanCode({
success(res) {
//console.log(res.result)
//strEnc=DESencrypt(res.result);
var encStr=res.result;
var strEnc=decrypt.decrypt(encStr);
myThis.setData({
result: strEnc
//scanType: res.scanType
})
}
})
},
scanCode2() {
var myThis = this;
console.log(this.DESdecrypt('7v5pIMU/o7kH8JwE9D/g5sOGAVwzjaP2Anm2y83EfFO0OS9U8mA6J26yIzceaMnIog//省略KEY数据=='));
wx.scanCode({
success(res) {
//console.log(res.result)
strEnc=DESencrypt(res.result);
myThis.setData({
result: res.result,strEnc
//scanType: res.scanType
})
}
})
},
data: {
result:"等待扫描"
},
DESdecrypt(encToStr) {
var keyHex=CryptoJS.enc.Utf8.parse("ahbihdulibinfo0571udf90w");
var decrypted = CryptoJS.DES.decrypt(encToStr, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return(decrypted.toString(CryptoJS.enc.Utf8));
},
DESencrypt(strToEnc) {
//var keyHex = CryptoJS.enc.Utf8.parse("ahbihdulibinfo34sx76dssd333hdudfd90w");
var keyHex = CryptoJS.enc.Utf8.parse("ahbihdulibinfo0571udf90w");
////var keyHex='secretkey 134';
//console.log(CryptoJS);
//var encrypted = CryptoJS.DES.encrypt(strToEnc, keyHex, {
// mode: CryptoJS.mode.ECB,
// padding: CryptoJS.pad.Pkcs7
//});
//console.log(encrypted.toString());
var encrypted = CryptoJS.DES.encrypt(strToEnc, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return(encrypted.toString());
},
};
Page(options);