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做数据传输。

md5加密、Des加密对称可逆加密、RSA非对称可逆加密、https单边验证、银行U盾双边认证的更多相关文章

  1. MD5 不可逆加密,Des对称可逆加密 ,RSA非对称可逆加密 ,数字证书 SSL

    :MD5 不可逆加密2:Des对称可逆加密3:RSA非对称可逆加密4:数字证书 SSL Anker_张(博客园)http://www.cnblogs.com/AnkerZhang/ 1:MD5 不可逆 ...

  2. RSA非对称可逆加密

    /// <summary> /// RSA ECC /// 可逆非对称加密 /// 非对称加密算法的优点是密钥管理很方便,缺点是速度慢. /// </summary> usin ...

  3. JAVA生成RSA非对称型加密的公钥和私钥(利用JAVA API)

    非对称型加密非常适合多个客户端和服务器之间的秘密通讯,客户端使用同一个公钥将明文加密,而这个公钥不能逆向的解密,密文发送到服务器后有服务器端用私钥解密,这样就做到了明文的加密传送. 非对称型加密也有它 ...

  4. 【转载】非对称加密过程详解(基于RSA非对称加密算法实现)

    1.非对称加密过程:         假如现实世界中存在A和B进行通讯,为了实现在非安全的通讯通道上实现信息的保密性.完整性.可用性(即信息安全的三个性质),A和B约定使用非对称加密通道进行通讯,具体 ...

  5. 【编程开发】非对称加密过程详解(基于RSA非对称加密算法实现)

    1.非对称加密过程:         假如现实世界中存在A和B进行通讯,为了实现在非安全的通讯通道上实现信息的保密性.完整性.可用性(即信息安全的三个性质),A和B约定使用非对称加密通道进行通讯,具体 ...

  6. RSA非对称 私钥加密

    RSA生成公钥和私钥对 /// <summary> /// RSA生成公钥和私钥 /// </summary> /// <returns></returns& ...

  7. MD5,Des,RSA加密解密

    一.加密和解密 下面先熟悉几个概念 1>对称加密:加密的key和解密的key是同一个 但是如何确保密钥安全地进行传递?秘钥的安全是一个问题 2>非对称加密:加密点的key和解密的key不是 ...

  8. 对称加密DES加密

    DES加密: des是对称加密,加密和解密需要相同的秘钥,它的密码最长56位,必须是8的倍数,秘钥越长,越安全. package com.trm.util.encrypt; import java.s ...

  9. RSA非对称加密,使用OpenSSL生成证书,iOS加密,java解密

    最近换了一份工作,工作了大概一个多月了吧.差不多得有两个月没有更新博客了吧.在新公司自己写了一个iOS的比较通用的可以架构一个中型应用的不算是框架的一个结构,并已经投入使用.哈哈 说说文章标题的相关的 ...

随机推荐

  1. 网易2018校招 合唱 DP

      时间限制:2秒 空间限制:131072K 小Q和牛博士合唱一首歌曲,这首歌曲由n个音调组成,每个音调由一个正整数表示.对于每个音调要么由小Q演唱要么由牛博士演唱,对于一系列音调演唱的难度等于所有相 ...

  2. Writing Code-Codeforces511C**

    http://codeforces.com/problemset/problem/544/C 完全背包 dp[i][j]表示第i行有j个bug #include<stdio.h> #inc ...

  3. JAVA生成扫描条形码

    条形码是一种可视化.机器可读的数据,这些数据通常描述了携带该条码的物品的相关信息.条形码已经广泛被应用在商品流通,图书管理,邮政管理和银行系统等领域.在这篇文章中,将介绍如何生成和扫描一些常见的一维和 ...

  4. 【SQL Server 学习系列】-- 清除SQL Server 2012连接过的服务器名称

    需要删除两个地方,删除前请注意备份! 1.  %AppData%\Microsoft\Microsoft SQL Server\100\Tools\Shell\SqlStudio.bin 2.  %A ...

  5. Sql批量添加,批量查询,批量删除,批量修改。mybatis都有对应标签

    Sql批量添加,批量查询,批量删除,批量修改.mybatis都有对应标签

  6. RPC和微服务

    1 什么是RPC 是remote procedure call的缩写. 2 什么是微服务 所谓的微服务就是说,把一个应用分解成一组小的服务,每个服务运行在自己的进程中.每个服务都可以单独部署,可以用自 ...

  7. CANopen——笔记

    1. c语言的typedef高级用法 typedef void (*post_sync_t)(CO_Data*); http://zhidao.baidu.com/link?url=_lDBGq_uk ...

  8. YTU 2631: B1 能存各种类型数据的Store类

    2631: B1 能存各种类型数据的Store类 时间限制: 1 Sec  内存限制: 128 MB 提交: 245  解决: 177 题目描述 有一种类,海纳百川,可以对任意类型的数据进行存取,造就 ...

  9. Linux微信web开发者工具

    Linux微信web开发者工具 https://github.com/cytle/wechat_web_devtools Linux微信web开发者工具, 可在 linux 桌面环境跑起 微信开发者工 ...

  10. HQL 查询数据 (获取页面输入的查询条件字段)

    /* * 查询提取位置表所有数据 * */ public String ListEtlExtractPositionOfAll(){ // 接受数据库中传送的code int code = Integ ...