1.md5不可逆的加密方式,加密成一个32位的字符串。算法是公开的,任何语言的加密结果都是一样的。总有可能是重复的。
用途:
(1)防止明文存储:可以用作密码加密
(2)防止篡改:判断文件变化,将程序生成一个字节流,然后md5加密一下,判断加密结果是否有变化,可以防止程序挂载木马或者做类似SVN的东西。
(3)防止抵赖,数字签名。用于第三方认证机构。
解密:对撞库、穷举法。
防破解手段:1加盐。用户输入的基础上加上一些字符串然后做md5加密,防止被撞库。2.双md5加密,加密两遍,防止重复。
扩展-云盘秒传的实现方式:1.用户上传文件后,客户端通过对Stream流或者文件的摘要做一个md5加密 2.判断数据库中是否有相同值的文件,如果有,直接将路径复制一份过来。3.如果没有则不支持秒传。
2.Des对称可逆加密
对称:加密解密是同一个key。des是代表性算法,密钥长度为8
优点速度快,但是秘钥的管理不方便,要求共享秘钥。
3.RSA非对称可逆加密
非对称:加密解密不是同一个Key,但是key成对出现。加密key与解密key是不能互相转化的。
有点:密钥管理方便,缺点速度慢。
命名:公钥私钥是相对的,其实叫加密key和解密key更贴切,因为有时候需要暴露加密key,有时候需要暴露解密key,被暴露的就是公钥,隐藏的就是私钥。
过去的加密解密处理方式:
加密:提供给方法一个需要加密的内容后,加密算法返回三个值:公钥、私钥、和加密值。
     解密:通过私钥和加密内容获得解密结果值。
新的推荐方式
通过Rsa类获取KeyValuePair键值对,键为公钥,值为私钥。
加密:通过公钥加密获取加密值。
解密:通过私钥解密获取解密值。
用途:
1.可以判断请求来源的唯一性、合法性。因为加密解密key是一对的。加密key私有,解密key公开,只有拥有加密key的人才能发送消息。
2.可以判断请求目的的唯一性、合法性。解密key私有,加密key公开,只有拥有解密key的人才能解密看到。
4.单边认证https通讯三次握手
1.client向server发起请求,server返回一个签名和公钥(加密钥)。
2.client通过公钥加密一个字符串"abcd"发送到服务器,服务器通过私钥(解密key)解密得到"abcd"字符串并返回client表示自己是合法服务器。
3.client与server开始通过"abcd"作为对称加密的秘钥开始通讯。
5.网站证书认证
1.公司像CA机构提交名称网址。
2.CA机构生成一个签名(MD5加密值),对应一个有效的证书。
3.公司下载一个证书文件,文件中包含
1.公司详细信息,MD5信息避免修改
2.CA机构信息
3.不对称可逆加密的加密解密Key,然后就可以支持https通讯了。
6.银行卡双边认证(两对加密解密秘钥)
1.client向server发起请求,server返回一个签名和公钥(加密钥)。
2.client通过公钥加密一个字符串"abcd"发送到服务器,服务器通过私钥(解密key)解密得到"abcd"字符串并返回client表示自己是合法服务器。
3.client确认了服务器的身份并发送证书给server,完成了第一次验证,证书验证。
4.server完成证书验证后初步认可client的身份并拿公钥加密"1234"并将值发送给client。
5.client通过私钥解密后将解密值“1234”发送给服务器,服务器校验1234无误,完成第二次验证,秘钥验证。
6.服务器发送对称加密字符串给client,双方开始通讯。
总结:md5保证文件不被篡改,保证有效,RSA做服务器身份验证,用Des做数据传输。

转载于:https://www.cnblogs.com/chenxizhaolu/p/8428064.html

md5加密、Des加密对称可逆加密、RSA非对称可逆加密、https单边验证、银行U盾双边认证...相关推荐

  1. Linux crypto相关知识的汇总 Linux加密框架crypto对称算法和哈希算法加密模式

    参考链接 Linux加密框架中的算法和算法模式(二)_家有一希的博客-CSDN博客 对称算法 分组算法模式 ECB模式 ECB模式下,明文数据被分为大小合适的分组,然后对每个分组独立进行加密或解密 如 ...

  2. 安卓和php接口数据传输加密,安卓与PHP间的RSA(openssl)交互加密的坑

    这几天在写一个安卓的RSA公钥加密算法,用于跟PHP后台接口进行交互.在实践过程中发现了几个坑.其中我的公钥和私钥都是通过openssl生成的pem格式. 遇到的坑: 1.通过java的RSA公钥加密 ...

  3. java中的加密与安全——常见哈希算法总结,对称式加密及不对称式加密

    目录 一.编码算法 1.URL编码 1.1.概念 1.2.代码示例(编码和解码)对URL中的中文进行编码 对URL中的中文进行解码 2.Base64编码 2.1.基本概念 2.2. 解码内容: 2.3 ...

  4. java md5加密解密_技术09期:数据安全之加密与实现

    前言:大数据时代,每个人的生活中都不存在所谓的绝对"秘密",通过网络上的数据信息可以分析出一个人生活的各种痕迹.因此,保障大数据信息安全至关重要. 本文主要介绍了散列算法.对称加密 ...

  5. 基于Python语言、RSA非对称加密的IRC聊天室客户端

    源码地址: (55条消息) 基于Python语言.RSA非对称加密的IRC聊天室客户端源码与应用程序-Python文档类资源-CSDN文库 1 研究背景和现状 IRC是Internet Relay C ...

  6. java 公匙私匙_Java生成非对称型加密公钥和私钥的方法

    本文实例讲述了Java生成非对称型加密公钥和私钥的方法.分享给大家供大家参考.具体如下: 非对称型加密非常适合多个客户端和服务器之间的秘密通讯,客户端使用同一个公钥将明文加密,而这个公钥不能逆向的解密 ...

  7. JAVA产生加密公钥私钥_Java生成非对称型加密的公钥和私钥

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. import java.io.*; import java.security.*; imp ...

  8. Python代码实现MD5、AES对称加密和RSA非对称加密以及OpenSSl实践

    1.MD5加密算法 1.1 MD5加密的特点 不可逆运算 对不同的数据加密的结果是定长的32位和16位字符(不管文件多大都一样) 对相同的数据加密,得到的结果是一样的(也就是复制). 抗修改性 :信息 ...

  9. VC实现数据的加密和解密(MD5加密/DES/RSA加密解密)

    VC实现数据的加密和解密 由于生产实习的时间有限,加上自己这段时间致力于考研,因此,仅仅是实现了通过MD5/DES/RSA的简单的字符串的加密解密,希望有兴趣的兄弟姐妹能够完善它. 主要的程序如下: ...

  10. Android网络传输中必用的两个加密算法:MD5 和 RSA 及Base64加密总结

    (1)commons-codec包简介 包含一些通用的编码解码算法.包括一些语音编码器,Hex,Base64.MD5 一.md5.base64.commons-codec包 commons-codec ...

最新文章

  1. 工作中linux定时任务的设置及相关配置
  2. 如何处理高并发写入mysql_如何处理高并发情况下的DB插入
  3. ups容量计算和配置方法_干货:UPS电源配蓄电池公式计算方法!
  4. 用母函数的思路解释母函数的代码
  5. 怎么用计算机拟合数据,数据拟合的几个应用实例-毕业论文.doc
  6. React Native实例
  7. java获取cpu使用率_再一次生产 CPU 高负载排查实践
  8. PHP PDO 简单登陆操作
  9. 组件注册-@Scope-设置组件作用域
  10. 前端CSS - 相对定位,绝对定位,固定定位
  11. 三只松鼠、良品铺子、百草味隐藏的巨大套利机会
  12. ABAP BYPASSING BUFFER 及 表缓存,缓冲概念 SAP
  13. matlab 电路频率响应_电力电子模型频率响应估计
  14. 费解的数字 递推+位运算
  15. 为什么建议向你的同事屏蔽朋友圈?
  16. java 调停者模式_[Java教程]《JAVA与模式》之调停者模式
  17. 阿里云IoT | HaaS开源百校科技助力计划 —— 开源大使招募
  18. 自兴人工智能学院有话说,好机构培养好人才!
  19. Arnold材质节点篇-摄像机
  20. Python https携带证书

热门文章

  1. # 每天阅读一个 npm 模块(7)- delegates
  2. 思科DHCP不同网段通信
  3. 安装ESXI 5.5卡在LSI_MR3.V00解决方案
  4. 换种思路去理解设计模式(上)
  5. Java中== equals hashcode浅析[转]
  6. 把服务器sql数据库导出excel文件,从sql中导出到excel表格数据-如何把SQLServer表数据导出为Excel文件...
  7. linux 档案类型s,深入了解Linuxs归档和压缩命令 | MOS86
  8. lisp方格网法计算土方量_飞时达土方软件多级边坡土方量计算(选方格点放坡)...
  9. k1658停运到什么时候_2020年春节快递几号停运 2020年春节快递停运时间电商春节放假通知...
  10. c语言中变量的转换,C语言中,指针变量之间的类型转换