求加密算法,求解密

xiancaoidfsd 2013-08-16 10:56:40
原密码:admin
加密后:A79ECB371DC0F477A39B0EB0C01029D53DD6E361
有大神能知道加密算法么?
...全文
288 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiancaoidfsd 2013-08-22
  • 打赏
  • 举报
回复
此加密过程是单向的,无法逆向解密;
  • 打赏
  • 举报
回复
四十位的密文 ,我认为无解
gqchen1981 2013-08-16
  • 打赏
  • 举报
回复
这个谁知道啊,你要看代码才知道, 而且很多自己写的加密,都有一个加密密钥的。
xiancaoidfsd 2013-08-16
  • 打赏
  • 举报
回复
结贴,已经破解成功了,是先sha加密,然后再Hash,关键是加密源是用户名id+用户密码,所以各位,存在误导;已经ok了
信丰小飞鱼 2013-08-16
  • 打赏
  • 举报
回复
/// <summary> /// 3DES 加密 Byte[] to HEX string 第四种加密方法 /// </summary> /// <param name="input">明文字符串</param> /// <returns>已加密字符串</returns> public static string ThreeDesEncryptHEX(string input) { string result = ""; System.Security.Cryptography.TripleDES des = System.Security.Cryptography.TripleDES.Create(); des.Mode = System.Security.Cryptography.CipherMode.CBC; des.Padding = System.Security.Cryptography.PaddingMode.PKCS7; ICryptoTransform ct; MemoryStream ms; CryptoStream cs; byte[] byt; byte[] Key = new byte[24]{ 1,2,3,4,5,6, 1,2,3,4,5,6, 1,2,3,4,5,6, 1,2,3,4,5,6 }; byte[] IV = new byte[8] { 1, 2, 3, 4, 5, 6, 1, 2 }; ct = des.CreateEncryptor(Key, IV); byt = Encoding.GetEncoding("GB2312").GetBytes(input); //根据 GB2312 编码对字符串处理,转换成 byte 数组 ms = new MemoryStream(); cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); cs.Write(byt, 0, byt.Length); cs.FlushFinalBlock(); cs.Close(); byte[] answer = ms.ToArray(); for (int j = 0; j < answer.Length; j++) { result += answer[j].ToString("x").PadLeft(2, '0'); } return result; } /// <summary> /// 3DES + HEX to byte[] 解密 第四种解密方法 /// </summary> /// <param name="input">密文字符串</param> /// <returns>解密字符串</returns> public static string ThreeDesDecryptHEX(string input) { System.Security.Cryptography.TripleDES des = System.Security.Cryptography.TripleDES.Create(); des.Mode = System.Security.Cryptography.CipherMode.CBC; des.Padding = System.Security.Cryptography.PaddingMode.PKCS7; ICryptoTransform ct; MemoryStream ms; CryptoStream cs; byte[] Key = new byte[24]{ 1,2,3,4,5,6, 1,2,3,4,5,6, 1,2,3,4,5,6, 1,2,3,4,5,6 }; byte[] IV = new byte[8] { 1, 2, 3, 4, 5, 6, 1, 2 }; ct = des.CreateDecryptor(Key, IV); //byt = Convert.FromBase64String(input); // 将 密文 以 HEX to byte[]编码转换成 byte 数组 if (input.Length <= 1) { throw new Exception("encrypted HEX string is too short!"); } byte[] byt = new byte[input.Length / 2]; for (int i = 0; i < byt.Length; i++) { //Console.WriteLine(input.Substring(i*2,2)); byt[i] = Convert.ToByte(input.Substring(i * 2, 2), 16); } ms = new MemoryStream(); cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); cs.Write(byt, 0, byt.Length); cs.FlushFinalBlock(); cs.Close(); return Encoding.GetEncoding("GB2312").GetString(ms.ToArray()); // 将 明文 以 GB2312 编码转换成字符串 } /// <summary> /// Base64编码 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string EncodingToBase64(string str) { return Convert.ToBase64String(Encoding.UTF8.GetBytes(str)); } /// <summary> /// Base64解码 /// </summary> /// <param name="base64Str"></param> /// <returns></returns> public static string DecodingFromBase64(string base64Str) { Byte[] bytes = Convert.FromBase64String(base64Str); return System.Text.Encoding.UTF8.GetString(bytes); } /// <summary> /// 根据指定的编码方式Base64编码 /// </summary> /// <param name="str"></param> /// <param name="strEncoding"></param> /// <returns></returns> public static string EncodingToBase64(string str, System.Text.Encoding strEncoding) { return Convert.ToBase64String(strEncoding.GetBytes(str)); } /// <summary> /// 根据指定的编码方式Base64解码 /// </summary> /// <param name="base64Str"></param> /// <param name="strEncoding"></param> /// <returns></returns> public static string DecodingFromBase64(string base64Str, System.Text.Encoding strEncoding) { Byte[] bytes = Convert.FromBase64String(base64Str); return strEncoding.GetString(bytes); } } }
信丰小飞鱼 2013-08-16
  • 打赏
  • 举报
回复
给你一个C# 的 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Security.Cryptography; namespace HJMS { public class CryptUtil { /// <summary> /// 第一种加密方法 /// </summary> /// <param name="input">明文字符串</param> /// <returns>已加密字符串</returns> public static string EncryptString(string input) { if (input.Equals(string.Empty)) { return input; } byte[] byKey = { 0x63, 0x68, 0x65, 0x6E, 0x79, 0x75, 0x61, 0x6E }; byte[] IV = { 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10 }; DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray = Encoding.UTF8.GetBytes(input); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); return Convert.ToBase64String(ms.ToArray()); } /// <summary> /// 第一种解密方法 /// </summary> /// <param name="input">密文字符串</param> /// <returns>解密字符串</returns> public static string DecryptString(string input) { if (input.Equals(string.Empty)) { return input; } byte[] byKey = { 0x63, 0x68, 0x65, 0x6E, 0x79, 0x75, 0x61, 0x6E }; byte[] IV = { 0xFE, 0xDC, 0xBA, 0x98, 0x76, 0x54, 0x32, 0x10 }; byte[] inputByteArray = new Byte[input.Length]; DESCryptoServiceProvider des = new DESCryptoServiceProvider(); inputByteArray = Convert.FromBase64String(input); MemoryStream ms = new MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); Encoding encoding = new UTF8Encoding(); return encoding.GetString(ms.ToArray()); } /// <summary> /// DES + Base64 加密 第二种加密方法 /// </summary> /// <param name="input">明文字符串</param> /// <returns>已加密字符串</returns> public static string DesBase64Encrypt(string input) { System.Security.Cryptography.DES des = System.Security.Cryptography.DES.Create(); des.Mode = System.Security.Cryptography.CipherMode.ECB; ICryptoTransform ct; MemoryStream ms; CryptoStream cs; byte[] byt; byte[] Key = new byte[8] { 56, 50, 55, 56, 56, 55, 49, 49 }; byte[] IV = new byte[8] { 0, 0, 0, 0, 0, 0, 0, 0 }; ct = des.CreateEncryptor(Key, IV); byt = Encoding.GetEncoding("GB2312").GetBytes(input); //根据 GB2312 编码对字符串处理,转换成 byte 数组 ms = new MemoryStream(); cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); cs.Write(byt, 0, byt.Length); cs.FlushFinalBlock(); cs.Close(); byte[] answer = ms.ToArray(); for (int j = 0; j < answer.Length; j++) { Console.Write(answer[j].ToString() + " "); } Console.WriteLine(); return Convert.ToBase64String(ms.ToArray()); // 将加密的 byte 数组依照 Base64 编码转换成字符串 } /// <summary> /// DES + Base64 解密 第二种解密方法 /// </summary> /// <param name="input">密文字符串</param> /// <returns>解密字符串</returns> public static string DesBase64Decrypt(string input) { System.Security.Cryptography.DES des = System.Security.Cryptography.DES.Create(); des.Mode = System.Security.Cryptography.CipherMode.ECB; ICryptoTransform ct; MemoryStream ms; CryptoStream cs; byte[] byt; byte[] Key = new byte[8] { 56, 50, 55, 56, 56, 55, 49, 49 }; byte[] IV = new byte[8] { 0, 0, 0, 0, 0, 0, 0, 0 }; ct = des.CreateDecryptor(Key, IV); byt = Convert.FromBase64String(input); // 将 密文 以 Base64 编码转换成 byte 数组 ms = new MemoryStream(); cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); cs.Write(byt, 0, byt.Length); cs.FlushFinalBlock(); cs.Close(); return Encoding.GetEncoding("GB2312").GetString(ms.ToArray()); // 将 明文 以 GB2312 编码转换成字符串 } /// <summary> /// DES + Base64 加密 第三种加密方法 /// </summary> /// <param name="input">明文字符串</param> /// <returns>已加密字符串</returns> public static string DesBase64EncryptForID5(string input) { System.Security.Cryptography.DES des = System.Security.Cryptography.DES.Create(); des.Mode = System.Security.Cryptography.CipherMode.CBC; ICryptoTransform ct; MemoryStream ms; CryptoStream cs; byte[] byt; byte[] Key = new byte[8] { 56, 50, 55, 56, 56, 55, 49, 49 }; byte[] IV = new byte[8] { 56, 50, 55, 56, 56, 55, 49, 49 }; ct = des.CreateEncryptor(Key, IV); byt = Encoding.GetEncoding("GB2312").GetBytes(input); //根据 GB2312 编码对字符串处理,转换成 byte 数组 ms = new MemoryStream(); cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); cs.Write(byt, 0, byt.Length); cs.FlushFinalBlock(); cs.Close(); byte[] answer = ms.ToArray(); for (int j = 0; j < answer.Length; j++) { Console.Write(answer[j].ToString() + " "); } Console.WriteLine(); return Convert.ToBase64String(ms.ToArray()); // 将加密的 byte 数组依照 Base64 编码转换成字符串 } /// <summary> /// DES + Base64 解密 第三种解密方法 /// </summary> /// <param name="input">密文字符串</param> /// <returns>解密字符串</returns> public static string DesBase64DecryptForID5(string input) { System.Security.Cryptography.DES des = System.Security.Cryptography.DES.Create(); des.Mode = System.Security.Cryptography.CipherMode.CBC; ICryptoTransform ct; MemoryStream ms; CryptoStream cs; byte[] byt; byte[] Key = new byte[8] { 56, 50, 55, 56, 56, 55, 49, 49 }; byte[] IV = new byte[8] { 56, 50, 55, 56, 56, 55, 49, 49 }; ct = des.CreateDecryptor(Key, IV); byt = Convert.FromBase64String(input); // 将 密文 以 Base64 编码转换成 byte 数组 ms = new MemoryStream(); cs = new CryptoStream(ms, ct, CryptoStreamMode.Write); cs.Write(byt, 0, byt.Length); cs.FlushFinalBlock(); cs.Close(); return Encoding.GetEncoding("GB2312").GetString(ms.ToArray()); // 将 明文 以 GB2312 编码转换成字符串 }
艾薇儿More 2013-08-16
  • 打赏
  • 举报
回复
我要破解了,去sun 了,
xiancaoidfsd 2013-08-16
  • 打赏
  • 举报
回复
引用 9 楼 forgetsam 的回复:
一个对值反推算法?找神仙去吧。
只要没有得到确定结果就是有希望成功破解的...目前在暴力中
forgetsam 2013-08-16
  • 打赏
  • 举报
回复
一个对值反推算法?找神仙去吧。
底儿er 2013-08-16
  • 打赏
  • 举报
回复
base64是个好东西。sha1也很不错。 楼主你的这个问题可以考死人。。。
xiancaoidfsd 2013-08-16
  • 打赏
  • 举报
回复
引用 5 楼 fudongrifdr 的回复:
sha1算法
很接近了,并且非单纯sha1算法,估计加有hash,而且对应对应16进制字符为{ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };结果已经非常接近,但是任然不对,现在估计就是密钥的问题了
xiancaoidfsd 2013-08-16
  • 打赏
  • 举报
回复
引用 4 楼 fangmingshijie 的回复:
至少不是MD5和3des。
还有base64 我也试过了,像2楼所说,至少不是普通的加密方式
末日哥 2013-08-16
  • 打赏
  • 举报
回复
sha1算法
  • 打赏
  • 举报
回复
至少不是MD5和3des。
xiancaoidfsd 2013-08-16
  • 打赏
  • 举报
回复
引用 2 楼 qiaoshuai0920 的回复:
四十位的密文 ,我认为无解
说的比较靠谱的,在多交流下

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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