首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AES加密/解密后缺少':‘

AES加密/解密后缺少':‘
EN

Stack Overflow用户
提问于 2021-10-01 21:23:27
回答 1查看 71关注 0票数 0

我正在写一个软件程序,需要加密和保存的URL到一个文本文件,并在稍后解密它。我使用了一个简单的AES加密/解密调用:

代码语言:javascript
复制
private string EncryptString(string TargetString, string EncryptionKey)
    {
        var b = Encoding.UTF8.GetBytes(TargetString);
        var encrypted = getAes(EncryptionKey).CreateEncryptor().TransformFinalBlock(b, 0, b.Length);
        return Convert.ToBase64String(encrypted);
    }

    private string DecryptString(string TargetString, string EncryptionKey)
    {
        var b = Convert.FromBase64String(TargetString);
        var decrypted = getAes(EncryptionKey).CreateDecryptor().TransformFinalBlock(b, 0, b.Length);
        return Encoding.UTF8.GetString(decrypted);
    }

    private Aes getAes(string EncryptionKey)
    {
        var keyBytes = new byte[16];
        var skeyBytes = Encoding.UTF8.GetBytes(EncryptionKey);
        Array.Copy(skeyBytes, keyBytes, Math.Min(keyBytes.Length, skeyBytes.Length));

        Aes aes = Aes.Create();
        aes.Mode = CipherMode.CBC;
        aes.Padding = PaddingMode.PKCS7;
        aes.KeySize = 128;
        aes.Key = keyBytes;
        aes.IV = keyBytes;

        return aes;
    }

一切似乎都很正常,只有一个例外:我在https://..中去掉了':‘字符。

下面是我加密并保存的内容:

...and当我重新加载和解密时,我得到:

“:”没有了。当我调试时,我看到':‘进入要保存的加密方法,但当我重新加载文本文件并解密时,':’消失了。其他一切都和我预期的一样。

我确信这是很简单的事情,但我无论如何也想不出来。

c# - .Net 5

谢谢。

-Joe

EN

回答 1

Stack Overflow用户

发布于 2021-10-01 21:58:10

找到了!额外的调试允许我看到它正在从文件中读回它并解密它。我在后面的代码中使用了一个"Replace“命令来提取一些格式化数据,这些数据提取出了”:“。谢谢你让我远离加密技术,否则我还会继续找的。#TunnelVision谢谢。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69412102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档