3DES(对称加密) 和 MD5(散列加密)倒底哪个是不可逆的? 在线立等,明白后立即解贴

hag_sun 2009-05-19 11:26:22
我认为
MD5(散列加密)是把要加密的字符串变成固定长度的密码,然后写入数据库,当要解密时,只能比较对那个写入到数据库中的那个值,但不知道原始密码没人知道?我这么理解对不?


3DES(对称加密) 而它可以把一个字符串加密后再原原本本的还原回最初的字符串是不?我这么理解对不对?
...全文
772 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzxap 2009-05-19
  • 打赏
  • 举报
回复
[code=C#]
C#的DES加密算法类

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

namespace Deposit
{

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

//默认密钥向量
private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };

//密钥
public string KeyValue="20070413";

/// DES加密
/// <param >待加密的字符串</param>
/// <param >加密密钥,要求为8位</param>
/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>

public string EncryptDES(string encryptString, string encryptKey)
{
try
{
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());
}
catch
{
//return encryptString;
return "Encrypt Failed!";
}
}

/// DES解密
/// <param >待解密的字符串</param>
/// <param >解密密钥,要求为8位,和加密密钥相同</param>
/// <returns>解密成功返回解密后的字符串,失败返源串</returns>

public string DecryptDES(string decryptString, string decryptKey)
{
try
{
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 decryptString;
return "Decrypt Failed!";
}
}

}

}
[/CODE]
opou 2009-05-19
  • 打赏
  • 举报
回复
MD5不可逆!
用MD5安全性相对高些
zahota 2009-05-19
  • 打赏
  • 举报
回复
MD5是散列,散列后不能获取原来的值了
DES是私钥,加密后通过密码可以还原。
3DES没用过,记得好像和DES一样,只是强度更大。
wangchao813 2009-05-19
  • 打赏
  • 举报
回复
up
hag_sun 2009-05-19
  • 打赏
  • 举报
回复
3des如何是可逆的,为什么还要还原密码呢?直接像MD5一样,验证时比对加密的字符串不就行吗?为什么还要还原?
Ricercar 2009-05-19
  • 打赏
  • 举报
回复
MD5据说被破解了,变成可逆的了
rqx110 2009-05-19
  • 打赏
  • 举报
回复
MD5不可逆
jueyingfd 2009-05-19
  • 打赏
  • 举报
回复
你这样理解还可以,MD5是不可逆的,如果用它,以后不能改密码,只能重新设置。明白?
wuyq11 2009-05-19
  • 打赏
  • 举报
回复
MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,无法将一个MD5的值变换回原始的字符串
DES是一个分组加密算法,他以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。它的密匙长度是56位(因为每个第8 位都用作奇偶校验),密匙可以是任意的56位的数,而且可以任意时候改变。其中有极少量的数被认为是弱密匙,但是很容易避开他们。所以保密性依赖于密钥。
代码参考
酷家乐3D室内装修设计软件是时下最热、最酷、最帅的“装修神器”,是覆盖最广、用户最多、最受用户喜爱的装修软件。10秒可免费生成高清效果图,能够让你为客户、家人、自己快速打造理想居所。业主使用超级家装,10秒瞬间可以生成你的家,让装修更加随心所欲。设计师使用酷家乐,效果图立等可取,向业主证明专业度,可极大提高接单成功率! 酷家乐3D室内装修设计软件核心优势: 操作简单,完全免费,无需学习,任何人都可以使用。 拥有多项技术专利,核心技术团队来自美国硅谷,开发团队大多毕业于清华、浙大、上交等国内知名高校。 拥有全国最新最全的3D户型图库,用户只需输入楼盘小区名称,即可立即获得自己需要的户型图。 拥有全球领先的技术,10秒可生成效果图,30秒快速出360°动态全景图,极大提高了设计师的工作效率,从而提高设计师的接单成功率。以往设计师使用3Dmax做一套效果图短则三五天,多则一两周,而酷家乐几分钟就能搞定。 5分钟就能生成装修方案和清单,拥有数十万真实3D家具建材模型库,海量风格样板间一键匹配,这些模型随你任意拖动摆放,搞定方案后,可同时输出装修清单,接下来您需要做的就是拿着清单去找施工队了。 酷家乐3D室内装修设计软件截图

62,074

社区成员

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

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

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

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