zoukankan      html  css  js  c++  java
  • AES简单解密

    某app返回内容进行了加密处理

    其本地解密实现如下

        @NotNull
        public final String decrypt(@NotNull String str, @NotNull String str2) {
            Intrinsics.checkParameterIsNotNull(str, "input");
            Intrinsics.checkParameterIsNotNull(str2, "key");
            Cipher instance = Cipher.getInstance("AES/CBC/NoPadding");
            Object bytes = str2.getBytes(Charsets.UTF_8);
            Intrinsics.checkExpressionValueIsNotNull(bytes, "(this as java.lang.String).getBytes(charset)");
            SecretKeySpec secretKeySpec = new SecretKeySpec(bytes, "AES");
            Object bytes2 = str2.getBytes(Charsets.UTF_8);
            Intrinsics.checkExpressionValueIsNotNull(bytes2, "(this as java.lang.String).getBytes(charset)");
            instance.init(2, secretKeySpec, new IvParameterSpec(bytes2));
            Object doFinal = instance.doFinal(Base64.decode(str, 0));
            Intrinsics.checkExpressionValueIsNotNull(doFinal, "encrypt");
            return StringsKt.trim(new String(doFinal, Charsets.UTF_8), new char[]{'u0000'});
        }

    key值为一个写死的字符串

    参数有两个 str //加密后的字符串  str2 //解密需要的 key

    另偏移向量为 str2 utf8 的字节数组

    实现如下 

    function decrypt($str, $key)
    {
        if([string]::IsNullOrEmpty($str)){return $null}
        $toEncryptArray=[Convert]::FromBase64String($str)
        $ivArray=[Text.Encoding]::UTF8.GetBytes($key)
        $rm=[System.Security.Cryptography.RijndaelManaged]::new()
            $rm.Key=[Text.Encoding]::UTF8.GetBytes($key)
            $rm.IV=$ivArray
            $rm.Mode=[System.Security.Cryptography.CipherMode]::CBC
            $rm.Padding=[System.Security.Cryptography.PaddingMode]::None
        $cTransform=$rm.CreateDecryptor()
        $resultArray=$cTransform.TransformFinalBlock($toEncryptArray,0,$toEncryptArray.length)
        return [Text.Encoding]::UTF8.GetString($resultArray).Trim()
    }
  • 相关阅读:
    oracle学习 五 使用存储过程创建一个重置密码为123456的功能(持续更新中)
    oracle学习 四(持续更新中)无法为表空间 MAXDATA 中的段创建 INITIAL 区
    P3224 [HNOI2012]永无乡
    P3521 [POI2011]ROT-Tree Rotations
    UVA11090 Going in Cycle!!
    P1136 迎接仪式
    P1984 [SDOI2008]烧水问题(具体证明)
    P1494 [国家集训队]小Z的袜子
    P2680 运输计划
    P2831 愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/feiyucha/p/12516302.html
Copyright © 2011-2022 走看看