当前位置:  开发笔记 > 编程语言 > 正文

C#中的TripleDES加密

如何解决《C#中的TripleDES加密》经验,为你挑选了1个好方法。

我正在尝试使用ECB模式的TripleDES加密.我的代码看起来像这样:

public static string EncryptDES(string InputText)
        {
            byte[] key = new byte[] { 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48 };
            byte[] clearData = System.Text.Encoding.UTF8.GetBytes(InputText);
            MemoryStream ms = new MemoryStream();
            TripleDES alg = TripleDES.Create();
            alg.Key = key;
            alg.Mode = CipherMode.ECB;
            CryptoStream cs = new CryptoStream(ms, alg.CreateDecryptor(), CryptoStreamMode.Write);
            cs.Write(clearData, 0, clearData.Length);
            cs.FlushFinalBlock();
            byte[] CipherBytes = ms.ToArray();
            ms.Close();
            cs.Close();
            string EncryptedData = Convert.ToBase64String(CipherBytes);
            return EncryptedData;

        }

当我运行测试时,我得到一个例外,即"要解密的数据长度无效".

有谁知道我做错了什么?

先感谢您.

更新

我的错 !我发现了我的问题而不是使用alg.CreateEncryptor()我正在使用alg.CreateDecyptor().

复制粘贴问题.:(

谢谢你的帮助,伙计们



1> Youssef..:

我的错 !我发现了我的问题而不是使用alg.CreateEncryptor()我正在使用alg.CreateDecyptor().

复制粘贴问题.:(

谢谢你的帮助,伙计们

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有