zoukankan      html  css  js  c++  java
  • RSA前端加密

    昨天做了登陆模块,接触了md5&RSA加密。有点意思,talk is cheap,show me the code!

     

    前端加密

      

    1.  为什么要加密
    2. 前端加密的方式
    3. 后台如何解密

     

    1 为什么要加密?

     很简单,防止密码明文传输。 如不做加密的话,在控制台是可以直接查看到账密传参的,毫无安全性可言。

    2 前端加密的方式?

      2.0 哈希算法与加密

     

     

    上图中我们可以明显看到哈希和加密是两个不同的东西,主要有两点不同:

    哈希算法通常用于数据摘要,生成相同长度的文本。而加密算法生成的密文长度与明文长度有关。 
    哈希算法是不可逆的,而加密算法是可逆的。

    在加密算法中又分为对称加密(symmetric encryption)和非对称加密(asymmetric encryption)。非对称加密算法中,加密密钥和解密密钥是不同的,分为私钥和公钥,我们熟知的 RSA 就是一种非对称加密算法。而对称加密中,加密和解密都是用同一个密钥,如 AES / DES。从性能上来说,非对称加密相对于对称加密要慢很多。

    在 HTTPS 中,认证过程使用了非对称加密算法,非认证过程中使用了对称加密算法。

     

     哈希算法的特性

       1)单向不可逆

        哈希(Hash)算法是一种单向密码体制,即只有加密过程,没有解密过程。

       2)可重复性

         相同输入经过同一哈希函数得到相同散列值,但并非散列值相同则输入结果相同。

    意思就是 前端拿哈希把密码加密后传输给后台,但是因为它是不可逆的,所以后台也无法解密,所以就将它储存进数据库,但是这样的安全性比较低

       2.1 md5方式

     

        2.2 RSA方式 

    什么是RSA

    如何使用RSA

     r

  • 相关阅读:
    SpringBoot集成JWT
    MongoDB学习入门
    Docker入门笔记
    商品分类(递归子目录)接口开发笔记
    深入理解java虚拟机
    -XX:+HeapDumpOnOutOfMemoryError
    使用kettle报Invalid byte 1 of 1-byte UTF-8 sequence异常
    kettle学习笔记(四)——kettle输入步骤
    eclipse maven项目,如何导出使用的依赖jar包
    kettle学习笔记(二)——kettle基本使用
  • 原文地址:https://www.cnblogs.com/code-klaus/p/11202891.html
Copyright © 2011-2022 走看看