zoukankan      html  css  js  c++  java
  • AES 加密,C#后台,javascript前台,crypt-js

    javascript前台代码

    <script src="http://apps.bdimg.com/libs/crypto-js/3.1.2/components/core-min.js"></script>
    <script src="http://apps.bdimg.com/libs/crypto-js/3.1.2/components/enc-utf16-min.js"></script>
    <script src="http://apps.bdimg.com/libs/crypto-js/3.1.2/components/sha1-min.js"></script>
    <script src="http://apps.bdimg.com/libs/crypto-js/3.1.2/components/md5-min.js"></script>
    <script src="http://apps.bdimg.com/libs/crypto-js/3.1.2/rollups/aes.js"></script>
    <script>
        function ajaxdecrypt() {
            var keystr = CryptoJS.enc.Utf16LE.parse($("#projectSign").val());
            var keymd5 = CryptoJS.MD5(keystr);
            var key = keymd5.toString(CryptoJS.enc.Hex);
    
            $.post("DecryptAes", { cipher: $("#txt").val(), key: key, iv: key }, function (result) {
                $("#txt").val(result);
            });
        }
    
        function encrypt() {
            var plantstr = $("#userSign").val();
            var plant = CryptoJS.enc.Utf16LE.parse(plantstr);
    
            var keystr = CryptoJS.enc.Utf16LE.parse($("#projectSign").val());
            var keymd5 = CryptoJS.MD5(keystr).toString(CryptoJS.enc.Hex);
            var key = CryptoJS.enc.Hex.parse(keymd5);
    
            //var encrypted = CryptoJS.AES.encrypt(plant, key, { iv: key, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding });
            var encrypted = CryptoJS.AES.encrypt(plant, key, { iv: key });
    
            $("#txt").val(encrypted);
        }
        function decrypt() {
            var cipherstr = $("#txt").val();
    
            var keystr = CryptoJS.enc.Utf16LE.parse($("#projectSign").val());
            var keycode = CryptoJS.MD5(keystr).toString(CryptoJS.enc.Hex);
            var key = CryptoJS.enc.Hex.parse(keycode);
    
            var plantstr = CryptoJS.AES.decrypt(cipherstr, key, { iv: key });
            var plant = CryptoJS.enc.Utf16LE.stringify(plantstr);
    
            $("#passwordSign").val(plant);
        }
    
    </script>

    C#后台

    public ActionResult DecryptAes(string cipher,string key,string iv)
            {
                AesManaged aes = new AesManaged();
    
                aes.Key = HexStringToBytes(key);
                aes.IV = HexStringToBytes(iv);
                //aes.Mode = CipherMode.CBC;
                //aes.Padding = PaddingMode.Zeros;
                ICryptoTransform de =  aes.CreateDecryptor();
    
                byte[] cipherBytes = Convert.FromBase64String(cipher);
    
                byte[] plantBytes =  de.TransformFinalBlock(cipherBytes,0,cipherBytes.Length);
    
                return Content(Encoding.Unicode.GetString(plantBytes));
            }
  • 相关阅读:
    使用服务端的临时密钥,不依赖阿里js的putFIle--》阿里oss
    看源码,弄清楚各个结构体
    Refused to set unsafe header
    await 暂停 等待 暂停的是什么
    Nonce
    multiple-value uuid.NewV4() in single-value context
    Failed to load http://wantTOgo.com/get_sts_token/: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://fromHere.com' is therefore not allowed access.
    formData.append("username", "Groucho"); input 文件大小
    t
    dom 显示 与否 的对 ecmascript 变量的 监听
  • 原文地址:https://www.cnblogs.com/bushuosx/p/3931698.html
Copyright © 2011-2022 走看看