更新记录

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加解密效果

  1. 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>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据 测试地址:https://uni.7pro.cn/js_sdk/aes#/

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问