该插件完全前端化,无任何服务器端调用,请放心使用。如果不放心可用fiddler截取插件包查看相关源码。
登录微信公众平台 https://mp.weixin.qq.com,输入小程序账号密码。
点击设置,打开第三方服务,点击添加插件。
搜索 Crypto 或者 wxf25d506ff81e19fb
搜索结果出来后选中 Crypto ,点击添加。
配置小程序app.json
使用MD5加密
使用AES 进行加解密
加入
"plugins":{
"crypto":{
"version":"0.0.003",
"provider":"wxf25d506ff81e19fb"
}
}
注: version填0.0.002也可使用,0.0.002没有 PBKDF2 加密方式及 RSA 非对称加解密方式
在小程序代码中声明引用
const crypto = requirePlugin("crypto");
new crypto["MD5"]("布包云").toString();
const mi = new crypto.AES().encrypt('布包云', "BubaoCloud", {
iv: 8,
mode: crypto.Mode.CBC,
padding: crypto.Padding.Pkcs7
});
console.log('encrypt:', mi.toString());
const v = new crypto.AES().decrypt(mi.toString(), "BubaoCloud", {
iv: 8,
mode: crypto.Mode.CBC,
padding: crypto.Padding.Pkcs7
});
console.log('decrypt:', v.toString(crypto.Utf8));
插件都搜索不到 ?
针对 @Harlan 的疑虑做出文章前的声明
new crypto[cryptoItem]("布包云").toString(); cryptoItem是什么
我看这个插件的文档 没有写md5怎么加密啊
new crypto["MD5"]("布包云").toString();
new crypto.MD5("布包云").toString();
谢谢
我需要用
enc-base64
还有
hmac-sha1
应该怎么写
js中类似
Base64.stringify(hmacSHA1(`x-date: ${date}`, key))
大神 ,这个插件 RSA 机密怎么设置 publickey 呢
直接使用 crypto.Keypair({ bits: 1024 }); 生成的密钥对,插件可以正常加解密,但是用在线加解密工具验证就报错。
encrypt.setPublicKey(RSA_PUBLIC);设置自己的1024位的 publickey 报错:Message too long for RSA,但是在线加解密工具可以正常使用。
在线工具:https://www.bejson.com/enc/rsa/
大哥你这个怎么解决的?
AES128/CFB128/NOPACK 这样的该如何写?
var
mi =
new
crypto.AES().encrypt(text, XMD5Keys, {iv: EMD5iv,mode: crypto.Mode.CFB,padding: crypto.Padding.NoPadding});
是这样子吗?
可以RSA加解密吗
暂时不行哦
需要RSA的可以跟帖,统计一下。
因为RSA加解密耗费资源太高,只能用worker实现,但是小程序插件目前不能用worker。
sha1加密之后怎么解密呢?有示例吗?
支持零填充(zeropadding)吗?
请问这个插件在wepy框架里面可以用吗?该如何使用?
云函数中能不能调用crypto呢?