http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 2851|回复: 1

[咨询站长] 关于3DES加解密函数的问题。

[复制链接]
发表于 2014-11-20 15:46:45 | 显示全部楼层 |阅读模式
5金钱
加解密:

[C#] 纯文本查看 复制代码
   private System.Text.Encoding encoding;
            /**/
            /// 
            /// 获取密匙
            /// 
            public string Key
            {
                get
                {
                    return "test3321";
                }
            }
            /**/
            /// 
            /// 获取或设置加密解密的编码
            /// 
            public System.Text.Encoding Encoding
            {
                get
                {
                    if (encoding == null)
                    {
                        encoding = System.Text.Encoding.UTF8;
                    }
                    return encoding;
                }
                set
                {
                    encoding = value;
                }
            }
            /**/
            /// 
            /// 加密
            /// 
            /// 
            /// 
            /// 
            /// 
            public string Encrypt3DES(string strString)
            {
                DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
                DES.Key = Encoding.GetBytes(this.Key);                            
                DES.Mode = CipherMode.ECB;
                DES.Padding = PaddingMode.Zeros;
                ICryptoTransform DESEncrypt = DES.CreateEncryptor();
                byte[] Buffer = encoding.GetBytes(strString);
                return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
            }
            /**/
            /// 
            /// 解密
            /// 
            /// 
            /// 
            /// 
            public string Decrypt3DES(string strString)
            {
                DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
                DES.Key = Encoding.UTF8.GetBytes(this.Key);           //这里报异常 异常信息为:其他信息: 指定键的大小对于此算法无效。
                DES.Mode = CipherMode.ECB;
                DES.Padding = PaddingMode.Zeros;
                ICryptoTransform DESDecrypt = DES.CreateDecryptor();
                byte[] Buffer = Convert.FromBase64String(strString);
                return UTF8Encoding.UTF8.GetString(DESDecrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
            }


//调用:
string jiemi = Decrypt3DES("cXPYWwRGo1sKQL67hKzpRg==");

//报错异常:
其他信息: 指定键的大小对于此算法无效。
初学C# 函数都是从网上找来的 但是不能用 这个异常要怎么解决呢 造成这个异常的原因是什么啊。



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2014-11-20 16:53:21 | 显示全部楼层
自己解决了 密匙应该为8个字节
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-12 03:20

© 2014-2021

快速回复 返回顶部 返回列表