手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

DotNet中用到的加密算法总结

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

225 des.Padding = System.Security.Cryptography.PaddingMode.PKCS7;
226 ICryptoTransform ct;
227 MemoryStream ms;
228 CryptoStream cs;
229 byte[] Key = new byte[24]{
230 1,2,3,4,5,6,
231 1,2,3,4,5,6,
232 1,2,3,4,5,6,
233 1,2,3,4,5,6
234 };
235 byte[] IV = new byte[8]{1,2,3,4,5,6,1,2};
236
237 ct = des.CreateDecryptor(Key, IV);
238 //byt = Convert.FromBase64String(input); // 将 密文 以 HEX to byte[]编码转换成 byte 数组
239 if(input.Length<=1)
240 {
241 throw new Exception("encrypted HEX string is too short!");
242 }
243 byte[] byt = new byte[input.Length/2];
244 for(int i=0;i<byt.Length;i )
245 {
246 //Console.WriteLine(input.Substring(i*2,2));
247 byt[i] = Convert.ToByte(input.Substring(i*2,2),16);
248 }
249
250 ms = new MemoryStream();
251 cs = new CryptoStream(ms, ct, CryptoStreamMode.Write);
252 cs.Write(byt, 0, byt.Length);
253 cs.FlushFinalBlock();
254
255 cs.Close();
256
257 return Encoding.GetEncoding("GB2312").GetString(ms.ToArray()); // 将 明文 以 GB2312 编码转换成字符串
258 }
259 /**//// <summary>
260 /// Base64解码
261 /// </summary>
262 /// <param name="base64Str"></param>
263 /// <returns></returns>
264 public static string DecodingFromBase64(string base64Str)
265 {
266 Byte[] bytes = Convert.FromBase64String(base64Str);
267 return System.Text.Encoding.UTF8.GetString(bytes);
268 }
269 /**//// <summary>
270 /// Base64编码
271 /// </summary>
272 /// <param name="str"></param>
273 /// <returns></returns>
274 public static string EncodingToBase64(string str)
275 {
276 return Convert.ToBase64String(Encoding.UTF8.GetBytes(str));
277 }
278 /**//// <summary>
279 /// 根据指定的编码方式Base64解码
280 /// </summary>
281 /// <param name="base64Str"></param>
282 /// <param name="strEncoding"></param>
283 /// <returns></returns>
284 public static string DecodingFromBase64(string base64Str,System.Text.Encoding strEncoding)
285 {
286 Byte[] bytes = Convert.FromBase64String(base64Str);
287 return strEncoding.GetString(bytes);
288 }
289 /**//// <summary>
290 /// 根据指定的编码方式Base64编码
291 /// </summary>
292 /// <param name="str"></param>
293 /// <param name="strEncoding"></param>
294 /// <returns></returns>
295 public static string EncodingToBase64(string str,System.Text.Encoding strEncoding)
296 {
297 return Convert.ToBase64String(strEncoding.GetBytes(str));
298 }
299 }
两个常用的方法

1 /**//// <summary>
2 /// 通过字节数组形式的密钥获取字符串形式的密钥
3 /// </summary>
4 void GetStringByByteArray()
5 {
6 byte[] Key = new byte[8]{56,50,55,56,56,55,49,49};
7 Response.Write(System.Text.Encoding.Default.GetString(Key));
8 Response.End();
9 }
10
11 /**//// <summary>
12 /// 通过字符串形式的密钥获取字节数组形式的密钥
13 /// </summary>
14 void GetByteArrayByString()
15 {
16 string key = "82788711";
17 Response.Write(System.Text.Encoding.Default.GetBytes(key));
18 Response.End();
19
20 }

有这里没包括的,欢迎回复,大家一起总结一下~~
http://www.cnblogs.com/goody9807/archive/2007/01/23/627785.html

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!