更新记录
2.0.2(2022-06-14) 下载此版本
1、修复打包成APP时方法不兼容问题 2、修复特殊符号中文字符加解密对不上的问题
2.0.1(2022-05-29) 下载此版本
1、增加Aes64版本的加解密算法。方法内带有打乱字符串的算法。 2、增加Base64的加解码算法,兼容各平台默认的加解码,有做部分调整 3、原版AES小问题修复
1.0(2022-05-26) 下载此版本
最新上传,完整的加解密算法
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
app-vue app-nvue | √ | √ | √ | √ | √ | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
√ | √ | √ | √ |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
Qiepro-Aes
根据数值进制转换的问题,想到的实现密钥加解密的方法。希望算法爱好者参与一起讨论这类加解密是否有破解的方法
本插件引入即用,不依赖第三方加解密方法的支持,代码精简,按需使用。单个文件不足5k。
服务端也可根据源码写这加解密算法。
文档
不多话了。上源码
1、极简版插件地址 /js_sdk/Qiepro-Aes/Qiepro-Aes.js 优点:算法简单,思路清淅。代码超级精简。加解密计算量小,速度快,安全挺高的,如果密钥不泄漏,感觉不容易解密的 缺点:密钥字符较少的话生成的密文较长 适用玩Jwt数据生成。
2、Aes64版 /js_sdk/Qiepro-Aes/Qiepro-Aes64.js 优点:加密效果好,生成的密文和Unicode编码后的数据长度一样。推荐使用。 包含:字符串打乱算法(这感觉挺简单的,希望有想法的朋友提出下意见再优化) 适用于多种安全措施处理。
3、Base64版 /js_sdk/Qiepro-Aes/Qiepro-Base64.js 此版本来源于网络。兼容各端基础Base64加解密数据。 增加了密钥参数传入。只简单的字典字符串处理。也能实现AES加解密效果
- DEMO源码 /pages/index/index.vue
<template> <view class="uni-container"> <view> <radio-group name="aes_type" @change="ChangeType"> <label><radio value="Aes" /><text>Aes</text></label> <label><radio value="Aes64" /><text>Aes64</text></label> <label><radio value="Base64" /><text>Base64</text></label> </radio-group> </view> <view class="uni-panel"> <input placeholder="密钥字典" v-model="keys" type="text"> </view> <view class="uni-panel"> <input placeholder="输入需要加密的字符串" v-model="source_str" type="text"> </view> <view class="bottom-border"> 加密后:{{encrypt_str}} </view> <view class="bottom-border"> 解密后:{{decrypt_str}} </view> </view> </template> <script> import Aes from '@/js_sdk/Qiepro-Aes/Qiepro-Aes.js' import Aes64 from '@/js_sdk/Qiepro-Aes/Qiepro-Aes64.js' import Base64 from '@/js_sdk/Qiepro-Aes/Qiepro-Base64.js' export default { data() { return { keys:'1234567890abcdef', source_str: "", aes_type:"Aes" } }, computed:{ encrypt_str(){ console.log(this.aes_type) if(this.aes_type == 'Aes64')return Aes64.Encrypt(this.source_str,this.keys) if(this.aes_type == 'Base64')return Base64.Encrypt(this.source_str,this.keys) return Aes.Encrypt(this.source_str,this.keys) }, decrypt_str(){ if(this.aes_type == 'Aes64')return Aes64.Decrypt(this.encrypt_str,this.keys) if(this.aes_type == 'Base64')return Base64.Decrypt(this.encrypt_str,this.keys) return Aes.Decrypt(this.encrypt_str,this.keys) }, }, methods:{ ChangeType(e){ this.aes_type = e.target.value; } } } </script> <style> </style>