VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: chanel1115

急:关于 DES 加密解密的问题。

[复制链接]

1

主题

7

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
 楼主| 发表于 2020-1-5 18:30:01 | 显示全部楼层
string text1 = "abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789`~!@#$%^&*()_+|-=[]{};':<>?,./";
                        string text2 = text1.Substring(0x36, 1) + text1.Substring(0x44, 1) + text1.Substring(1, 1) + text1.Substring(0x56, 1) + text1.Substring(0x39, 1) + text1.Substring(0x31, 1) + text1.Substring(0x3b, 1) + text1.Substring(0x47, 1);
                        string text3 = _Default.Decrypt(SifuData.UserDn(), text2);
                        string text4 = _Default.Decrypt("48FC50F3F5EB1A4B9CF9FA16765A4812", text2);
                        string text5 = _Default.Decrypt("24D673EB0598C4C8CD7A07F2B31E321B", text2);
                        string text6 = base.Request.Url.AbsoluteUri.ToLower();

这个里面也有跟楼上写的有点类似。
"abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ0123456789`~!@#$%^&*()_+|-=[]{};':<>?,./"
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-7 20:15:01 | 显示全部楼层
你的思路是对的,但需要稍微改动一下

                public static string Encryptor(string pToEncryptor, string sKey)
                {
                         DESCryptoServiceProvider provider1 = new DESCryptoServiceProvider();

                         byte[] buffer1 = ASCIIEncoding.Default.GetBytes(pToEncryptor);

                         provider1.Key = Encoding.ASCII.GetBytes(sKey);
                         provider1.IV = Encoding.ASCII.GetBytes(sKey);
                         MemoryStream stream1 = new MemoryStream();
                         CryptoStream stream2 = new CryptoStream(stream1, provider1.CreateEncryptor(), CryptoStreamMode.Write);
                         stream2.Write(buffer1, 0, buffer1.Length);
                         stream2.FlushFinalBlock();
                         StringBuilder builder1 = new StringBuilder();
                        byte[] buffer2 =stream1.ToArray();
                        for(int i=0;i<buffer2.Length;i++)
                        {
                                builder1.Append(buffer2[i].ToString("X"));
                        }
                         return builder1.ToString();
                }
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-21 21:45:01 | 显示全部楼层
楼上的代码现改一个地方,
builder1.Append(buffer2[i].ToString("X"));
改为
builder1.Append(buffer2[i].ToString("X2"));

测试实现楼主的要求
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-21 22:00:01 | 显示全部楼层
数据加密类库和实例下载

说明:数据加密类库和实例,可以对字符串,流,文件进行tripledes加密,也可以生成md5密文
开发语言:C#
开放工具版本:vs2005
主要知识点:tripledes加密相关方法的掌握
开发者:codestudy
联系方式:www.codestudy.cn
下载地址:
http://www.codestudy.cn/showtopic-4.aspx
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

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