• uniapp 与C# 加解密


    1 uni-app操作

    (1) 打开HBuilderX的视图->显示终端

      cd 切换到你项目的根目录

      执行命令 npm install crypto-js

    安装成功后你的项目根目录会生成node_modules文件夹,里面有crypto-js就说明成功了

    import Vue from 'vue'

    import CryptoJS from '@/components/crypto-js/crypto-js.js'

    const keys ='12345678900000000000000987654321';

    export default {

    AES_encrypt(word) {

    var key = CryptoJS.enc.Utf8.parse(keys);

    var srcs = CryptoJS.enc.Utf8.parse(word);

    var encrypted = CryptoJS.AES.encrypt(srcs, key, {


    mode: CryptoJS.mode.ECB,

    padding: CryptoJS.pad.Pkcs7

    });

    return encrypted.toString();

    },

    AES_decrypt(word) {

    var key = CryptoJS.enc.Utf8.parse(keys);

    var decrypt = CryptoJS.AES.decrypt(word, key, {

    mode: CryptoJS.mode.ECB,

    padding: CryptoJS.pad.Pkcs7

    });

    return CryptoJS.enc.Utf8.stringify(decrypt).toString();

    }

    }

    C#

    const string key = "12345678900000000000000987654321";

    /// <summary>
    /// AES 加密
    /// </summary>
    /// <param name="str">明文(待加密)</param>
    /// <param name="key">密文</param>
    /// <returns></returns>
    public string AesEncrypt(string str)
    {
    if (string.IsNullOrEmpty(str)) return null;
    Byte[] toEncryptArray = Encoding.UTF8.GetBytes(str);

    RijndaelManaged rm = new RijndaelManaged
    {
    Key = Encoding.UTF8.GetBytes(key),
    Mode = CipherMode.ECB,
    Padding = PaddingMode.PKCS7
    };

    ICryptoTransform cTransform = rm.CreateEncryptor();
    Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

    return Convert.ToBase64String(resultArray, 0, resultArray.Length);
    }
    /// <summary>
    /// AES 解密
    /// </summary>
    /// <param name="str">明文(待解密)</param>
    /// <param name="key">密文</param>
    /// <returns></returns>
    public string AesDecrypt(string str)
    {
    if (string.IsNullOrEmpty(str)) return null;
    Byte[] toEncryptArray = Convert.FromBase64String(str);

    RijndaelManaged rm = new RijndaelManaged
    {
    Key = Encoding.UTF8.GetBytes(key),
    Mode = CipherMode.ECB,
    Padding = PaddingMode.PKCS7
    };

    ICryptoTransform cTransform = rm.CreateDecryptor();
    Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);

    return Encoding.UTF8.GetString(resultArray);
    }

  • 相关阅读:
    gRPC详解
    vue 实现无限向上滚动
    vue 封装highcharts组件
    《数据结构与算法之美》32——分治算法
    《数据结构与算法之美》31——贪心算法
    《数据结构与算法之美》30——回溯算法
    《数据结构与算法之美》29——动态规划实战
    《数据结构与算法之美》28——动态规划理论
    《数据结构与算法之美》27——初识动态规划
    《数据结构与算法之美》26——广度优先搜索与深度优先搜索
  • 原文地址:https://www.cnblogs.com/lhxsoft/p/11693282.html
Copyright © 2020-2023  润新知