社区
Java EE
帖子详情
求加密算法,求解密
xiancaoidfsd
2013-08-16 10:56:40
原密码:admin
加密后:A79ECB371DC0F477A39B0EB0C01029D53DD6E361
有大神能知道加密算法么?
...全文
288
15
打赏
收藏
求加密算法,求解密
原密码:admin 加密后:A79ECB371DC0F477A39B0EB0C01029D53DD6E361 有大神能知道加密算法么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiancaoidfsd
2013-08-22
打赏
举报
回复
此加密过程是单向的,无法逆向解密;
做一个有理想的码农
2013-08-16
打赏
举报
回复
四十位的密文
,我认为无解
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算法
花谢尊前不敢香
2013-08-16
打赏
举报
回复
至少不是MD5和3des。
xiancaoidfsd
2013-08-16
打赏
举报
回复
引用 2 楼 qiaoshuai0920 的回复:
四十位的密文
,我认为无解
说的比较靠谱的,在多交流下
用C语言实现的AES加密
解密
算法
用C语言实现的AES加密
解密
算法,用C语言实现的AES加密
解密
算法
des
加密算法
(js+java)加密与
解密
结果相同
des
加密算法
(js+java)加密与
解密
结果相同 包含三个文件 : des.js des.html ,用于实现前端脚本的加密与
解密
des.java 用于后台的加密
解密
操作; 项目中正好用到,已经过验证,两个加密
解密
结果相同,分享给大家!
《C语言/C++学习指南》加密
解密
篇(安全相关算法)
本套视频教程介绍加密
解密
相关的常见算法,指出每种算法的应用场景,并给出使用示例。具体包含: (1) 数据转换(HEX和base64) (2) 对称加密 (DES, 3DES, AES) (3) 校验 CRC, MD5摘要, SHA1摘要 (4) 数字签名...
MD5
加密算法
MD5
加密算法
源代码
3DES
加密算法
源代码
DES加密源代码,用3DES
加密算法
。加密强度高,到目前为止,还无人能够破解!
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章