求助:加密前后的密码都知道,有谁知道加密方式

mxb0825 2010-06-03 09:16:28
加密前: gkowloon 加密后:466B082C5ADDFD72

加密前: 123 加密后:73C86396281EAA2A

请大侠指点,谢谢!
...全文
339 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
denbes 2010-06-03
  • 打赏
  • 举报
回复
有点难度!
mxb0825 2010-06-03
  • 打赏
  • 举报
回复
没想要解密,只要知道加密方式
sjh_TNT 2010-06-03
  • 打赏
  • 举报
回复
够黑不够暴力...
liladlove 2010-06-03
  • 打赏
  • 举报
回复
就提供加密前加密后的密码不可能破解出加密算法的啦
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ccs02287 的回复:]
不是MD5-。-
[/Quote]
不能仅仅因为对gkowloon进行MD5计算不等于后边那个就断定没有使用MD5。

比如我们可以在被计算的字符串前边加上"sp1234",后边加上“呵呵哈哈”,然后再把得到的字符串跟它自己的反转字符串连接,然后才计算md5,然后取中间8个字节(前后共舍弃8个字节)。

呵呵,显然我不知道前后加什么,也不知道中间是否做反转。其实使用到MD5的方法(以上就是一种随机想出来的最简单方法)是很可靠的。
Tonkey520 2010-06-03
  • 打赏
  • 举报
回复
你可以看一下, 别人的加密算法原码,如果明白了, 那应该没有问题
zqxhy2009 2010-06-03
  • 打赏
  • 举报
回复
加密算法很多,大家都可以写,简单或复杂,单凭明文和密文是猜不出来的
柳晛 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 pengyi_205 的回复:]
以后不要讨论这些问题了,,

破解别人加密算法,,这种事,,不好做,,

能做这个的,估计很少来论坛了
[/Quote]
就凭两条明文/密文,如果能破解,只有两种可能,第一加密算法过于简单,第二解密的人是蒙的。
柳晛 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 mxb0825 的回复:]
主要是我公司买了别的厂家的一套系统,系统功能不够完善,我们想在此基础出再开发一些功能,就又在数据库里加了一些表,现在想共用原来的一套密码,不想另外加一个表存密码,所以想知道原来的加密方式
[/Quote]

可以打电话资讯,这是二次开发需求。
mxb0825 2010-06-03
  • 打赏
  • 举报
回复
主要是我公司买了别的厂家的一套系统,系统功能不够完善,我们想在此基础出再开发一些功能,就又在数据库里加了一些表,现在想共用原来的一套密码,不想另外加一个表存密码,所以想知道原来的加密方式
夺命胖子 2010-06-03
  • 打赏
  • 举报
回复
以后不要讨论这些问题了,,

破解别人加密算法,,这种事,,不好做,,

能做这个的,估计很少来论坛了
周公 2010-06-03
  • 打赏
  • 举报
回复
人家可以随便写一个加密算法,仅一个加密钱的明文和一个加密后的密文是不可能猜测出来的。
lanfengsese 2010-06-03
  • 打赏
  • 举报
回复
这个有难度啊。。。
zhouing00 2010-06-03
  • 打赏
  • 举报
回复
收藏
学习
gxingmin 2010-06-03
  • 打赏
  • 举报
回复
看你的加密串,怎么会知道加密前的密码呢?
除非你告诉人家加密算法了
给你一个des和rc2的加密类吧

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

namespace CommonLib
{
/// <summary>
/// clsEncrypt 的摘要说明。
/// </summary>
public class clsEncrypt
{
private clsEncrypt()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

#region "加密解密函数"
//***********************************************************
//* 函数名称:Encrypt
//* 功能描述:加密字符串
//* 参 数:
//* strText --- 待加密的字符串
//* strKey --- 加密密钥
//* eProviderType --- 加密服务提供程序类型
//* 返 回 值:返回加密后的字符串
//* 作 者:
//* 创建日期:2004-07-19
//***********************************************************
public static string Encrypt(string strText,string strKey)
{
return Encrypt(strText,strKey,EnumProviderType.DES);
}

public static string Encrypt(string strText, string strKey ,EnumProviderType eProvider )
{

ICryptoTransform IEncryptor;

string s=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strKey, "MD5").Substring(0,8);

byte []key= ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strKey, "MD5").Substring(0,8));

try
{
if ( eProvider == EnumProviderType.DES )
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.Key =key;
des.IV = key;
IEncryptor = des.CreateEncryptor();
}
else
{
RC2CryptoServiceProvider des = new RC2CryptoServiceProvider();
des.Key = key;
des.IV = key;
IEncryptor = des.CreateEncryptor();
}


Byte []inputByteArray = Encoding.UTF8.GetBytes(strText);


System.IO.MemoryStream ms = new System.IO.MemoryStream();

CryptoStream cs = new CryptoStream(ms, IEncryptor, CryptoStreamMode.Write);

cs.Write(inputByteArray, 0, inputByteArray.Length);

cs.FlushFinalBlock();

StringBuilder ret = new StringBuilder();


foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}

return ret.ToString();
}
catch
{
return "";
}
}

//***********************************************************
//* 函数名称:Decrypt
//* 功能描述:解密字符串
//* 参 数:
//* strText --- 待解密的字符串
//* strKey --- 解密密钥
//* eProviderType --- 加密服务提供程序类型
//* 返 回 值:返回解密后的字符串
//* 作 者:
//* 创建日期:2004-07-19
//***********************************************************
public static string Decrypt(string strText,string strKey)
{
return Decrypt(strText,strKey,EnumProviderType.DES);
}
public static string Decrypt( string strText, string strKey , EnumProviderType eProvider)
{

ICryptoTransform IDecryptor;

byte []key= ASCIIEncoding.ASCII.GetBytes(System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(strKey, "MD5").Substring(0,8));

try
{
if ( eProvider == EnumProviderType.DES )
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
des.Key =key;
des.IV = key;
IDecryptor = des.CreateDecryptor();
}
else
{
RC2CryptoServiceProvider des = new RC2CryptoServiceProvider();
des.Key = key;
des.IV = key;
IDecryptor = des.CreateDecryptor();
}

int len =strText.Length / 2 - 1;

byte []inputByteArray=new byte[len+1];

int x,i;

for ( x = 0; x <= len;x++)
{
i = Convert.ToInt32(strText.Substring(x * 2, 2), 16);

inputByteArray[x] = Convert.ToByte(i);

} //


System.IO.MemoryStream ms = new System.IO.MemoryStream();

CryptoStream cs = new CryptoStream(ms, IDecryptor, CryptoStreamMode.Write);

cs.Write(inputByteArray, 0, inputByteArray.Length);

cs.FlushFinalBlock();

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

}
#endregion
}

#region "EnumProviderType --- 加密服务提供程序类型"
public enum EnumProviderType
{
DES = 0, //DES 算法的加密服务提供程序 (CSP) 版本的包装对象。
RC2 = 1 //RC2 算法的加密服务提供程序 (CSP) 实现的包装对象
}
#endregion
}
空心兜兜 2010-06-03
  • 打赏
  • 举报
回复
不是MD5-。-

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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