10.0 加密Encrypt

1:MD5 不可逆加密 2:Des对称可逆加密 3:RSA非对称可逆加密 4:数字证书 SSL MD5的用途 1 防篡改: 发个文档,事先给别人一个MD5,是文档的摘要, 源代码管理器svn--即使电脑断网了,文件有任何改动都能被发现 --本地存了一个文件的MD5--文件有更新,就再对比下MD5 急速秒传--扫描文件的MD5--跟已有的文件MD5比对--吻合表示文件已存在不用再上传 2 密码保存,防止看到明文 密码应该只有用户知道----数据库不能存明文---但是又需要验证 MD5加密下原始密码---数据库存密文---下次登录把密码MD5后再比对 密文是可见的,所以要求密码不能太简单,加盐(123456+密文) 3 防止抵赖,数字签名 把一些内容摘要一下,由权威的第三方去保障,将来这个文件就是你做的,不能抵赖 Des: 对称可逆加密:加密后能解密回原文,加密key和解密key是一个 加密算法都是公开的,密钥是保密的, 即使拿到密文 你是推算不了密钥 也推算不了原文 加密解密的速度快,问题是密钥的安全. RSA: 非对称可逆加密:加密后能解密回原文,加密key和解密key不是一个,而是一对算法是公开的,加密key和解密key是不能互相推导的 有了密文,没有解密key,也推导不出原文。 加密解密速度不快 安全性好 公开加密key,保证数据的安全传递 公开解密key,保证数据的不可抵赖 公钥就是公开的key 私钥就是不公开的key C#内置实现了公钥加密 私钥解密;想换需要用第三方的DLL-BouncyCastle