如何获取CSDN的用户登陆信息加密算法

jiujiang88 2010-11-01 05:40:10
CSDN的用户登陆信息好象是Cookie存放吧?应该是加了密的吧,如何获取其加密算法,有牛头人能帮忙解决下吗?
兴趣所致.
...全文
233 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiujiang88 2010-11-04
  • 打赏
  • 举报
回复
不错,我结了!~
周星星No.1 2010-11-03
  • 打赏
  • 举报
回复

using System;
using System.Text;
using System.Security.Cryptography;
using System.IO;

namespace AtWork.Core
{
public static class Security
{
/// <summary>
/// AES加密
/// </summary>
public class AES
{
//默认密钥向量, 16位
private static byte[] Keys = UTF8Encoding.UTF8.GetBytes("1234567812345678");

public static string Encode(string encryptString, string encryptKey)
{
encryptKey = Utils.GetSubString(encryptKey, 32, "");
encryptKey = encryptKey.PadRight(32, ' ');

RijndaelManaged rijndaelProvider = new RijndaelManaged();
rijndaelProvider.Key = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 32));
rijndaelProvider.IV = Keys;
ICryptoTransform rijndaelEncrypt = rijndaelProvider.CreateEncryptor();

byte[] inputData = Encoding.UTF8.GetBytes(encryptString);
byte[] encryptedData = rijndaelEncrypt.TransformFinalBlock(inputData, 0, inputData.Length);

return Convert.ToBase64String(encryptedData);
}

public static string Decode(string decryptString, string decryptKey)
{
try
{
decryptKey = Utils.GetSubString(decryptKey, 32, "");
decryptKey = decryptKey.PadRight(32, ' ');

RijndaelManaged rijndaelProvider = new RijndaelManaged();
rijndaelProvider.Key = Encoding.UTF8.GetBytes(decryptKey);
rijndaelProvider.IV = Keys;
ICryptoTransform rijndaelDecrypt = rijndaelProvider.CreateDecryptor();

byte[] inputData = Convert.FromBase64String(decryptString);
byte[] decryptedData = rijndaelDecrypt.TransformFinalBlock(inputData, 0, inputData.Length);

return Encoding.UTF8.GetString(decryptedData);
}
catch
{
return "";
}

}

}

/// <summary>
/// DES加密
/// </summary>
public class DES
{
//默认密钥向量, 8位
private static byte[] Keys = UTF8Encoding.UTF8.GetBytes("12345678");

/// <summary>
/// DES加密字符串
/// </summary>
public static string Encode(string encryptString, string encryptKey)
{
encryptKey = Utils.GetSubString(encryptKey, 8, "");
encryptKey = encryptKey.PadRight(8, ' ');
byte[] rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
byte[] rgbIV = Keys;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());

}

/// <summary>
/// DES解密字符串
/// </summary>
public static string Decode(string decryptString, string decryptKey)
{
try
{
decryptKey = Utils.GetSubString(decryptKey, 8, "");
decryptKey = decryptKey.PadRight(8, ' ');
byte[] rgbKey = Encoding.UTF8.GetBytes(decryptKey);
byte[] rgbIV = Keys;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider();

MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch
{
return "";
}
}
}

/// <summary>
/// 获得Guid,N
/// </summary>
public static string Key()
{
return Guid.NewGuid().ToString("N");
}
/// <summary>
/// 获得Salt,8位
/// </summary>
public static string Salt()
{
return Guid.NewGuid().ToString("N").Substring(0,8);
}
/// <summary>
/// SHA1加密字符串
/// </summary>
public static string SHA1(string rawString)
{
byte[] buffer = Encoding.UTF8.GetBytes(rawString);
SHA1 hasher = new SHA1Managed();
byte[] hashed = hasher.ComputeHash(buffer);
return Convert.ToBase64String(hashed);
}
/// <summary>
/// SHA1加密字符串
/// </summary>
public static string SHA1(string rawString, string saltString)
{
byte[] buffer = Encoding.UTF8.GetBytes(string.Concat(rawString, saltString));
SHA1 hasher = new SHA1Managed();
byte[] hashed = hasher.ComputeHash(buffer);
return Convert.ToBase64String(hashed);
}
/// <summary>
/// SHA256加密字符串
/// </summary>
public static string SHA256(string rawString)
{
byte[] buffer = Encoding.UTF8.GetBytes(rawString);
SHA256 hasher = new SHA256Managed();
byte[] hashed = hasher.ComputeHash(buffer);
return Convert.ToBase64String(hashed);
}
/// <summary>
/// SHA256加密字符串
/// </summary>
public static string SHA256(string rawString, string saltString)
{
byte[] buffer = Encoding.UTF8.GetBytes(string.Concat(rawString, saltString));
SHA256 hasher = new SHA256Managed();
byte[] hashed = hasher.ComputeHash(buffer);
return Convert.ToBase64String(hashed);
}
/// <summary>
/// MD5加密字符串
/// </summary>
public static string MD5(string rawString)
{
byte[] buffer = Encoding.UTF8.GetBytes(rawString);
MD5CryptoServiceProvider hasher = new MD5CryptoServiceProvider();
byte[] hashed = hasher.ComputeHash(buffer);
return Convert.ToBase64String(hashed);
}
/// <summary>
/// MD5加密字符串
/// </summary>
public static string MD5(string rawString, string saltString)
{
byte[] buffer = Encoding.UTF8.GetBytes(string.Concat(rawString, saltString));
MD5CryptoServiceProvider hasher = new MD5CryptoServiceProvider();
byte[] hashed = hasher.ComputeHash(buffer);
return Convert.ToBase64String(hashed);
}
}
}
sunny_yu 2010-11-02
  • 打赏
  • 举报
回复
lz 挺强大的
jiujiang88 2010-11-02
  • 打赏
  • 举报
回复
哈哈,想不到这么多人感觉敏感的哇,我只是在做一个网站,也用cookie加密来存放用户信息,想看看哪种加密算法NB些而已,所以想问问CSDN的加密算法采用的是哪种加密算法而已!~
  • 打赏
  • 举报
回复
就算知道加密算法又能如何呢
浪子-无悔 2010-11-02
  • 打赏
  • 举报
回复
楼主这也敢问哈,小心被拉黑哈。。。。
在路上20130607 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 newdigitime 的回复:]

我帮你猜测一下:
1.MD5
2.SHA
[/Quote]


吼吼 MD5的路过
subxli 2010-11-02
  • 打赏
  • 举报
回复
自定义加密算法 .
yeagen 2010-11-02
  • 打赏
  • 举报
回复
......
你胆大
MarsHands 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 zenghd 的回复:]
打客服电话吧


联系方式
地址:北京市朝阳区广顺北大街33号院1号楼福码大厦B座12层
邮编:100102
公司总机:010-51661202-110
传真:010-64348545
广告服务:010-64376055 64351430
CSDN网站:010-51661202-110
《程序员》杂志:010-51661202-203
文明上网……
[/Quote]

newdigitime 2010-11-02
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 jiujiang88 的回复:]
哈哈,想不到这么多人感觉敏感的哇,我只是在做一个网站,也用cookie加密来存放用户信息,想看看哪种加密算法NB些而已,所以想问问CSDN的加密算法采用的是哪种加密算法而已!~
[/Quote]
基于效率与安全性的综合考量,建议你用SHA
因为MD5虽然占用CPU资源低,同时也是不可逆的,但同样的原数据加密出来,结果也是固定的.
现在有很多MD5查询网站,提供了海量 MD5对照表,有可能被"破解"

SHA需要用到KEY, KEY值由你自己定.所以相对安全一些.

如果网站对安全性要求不是特别高,用MD5也就够了.
newdigitime 2010-11-01
  • 打赏
  • 举报
回复
我帮你猜测一下:
1.MD5
2.SHA
周星星No.1 2010-11-01
  • 打赏
  • 举报
回复
1、先搜下什么是sso
2、安装firefox
3、安装https://addons.mozilla.org/zh-TW/firefox/addon/60/
4、最后自己琢磨
孟子E章 2010-11-01
  • 打赏
  • 举报
回复
你知道了也没有用。加密算法常用的就那几种。关键是你没有key
huangwenquan123 2010-11-01
  • 打赏
  • 举报
回复
kokorenfeng 2010-11-01
  • 打赏
  • 举报
回复
这样嘛,知道 的人很少,,等待高手。。
ZengHD 2010-11-01
  • 打赏
  • 举报
回复
打客服电话吧


联系方式
地址:北京市朝阳区广顺北大街33号院1号楼福码大厦B座12层
邮编:100102
公司总机:010-51661202-110
传真:010-64348545
广告服务:010-64376055 64351430
CSDN网站:010-51661202-110
《程序员》杂志:010-51661202-203
文明上网违法信息举报电话:13552009689(注:此电话仅处理紧急违法事件,不受理普通咨询和投诉)
Email:webmaster@csdn.net
StillMiss 2010-11-01
  • 打赏
  • 举报
回复


LZ有胆
kkbac 2010-11-01
  • 打赏
  • 举报
回复
phil999 2010-11-01
  • 打赏
  • 举报
回复
加载更多回复(3)

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧