首页 > 其他分享 >密码不要加密

密码不要加密

时间:2023-02-07 21:33:06浏览次数:56  
标签:加密 登录 传输 明文 密码 密文 不要

  1. 我们需要明确,加密的作用是啥?

    • 没人关心用户的密码是什么,只会关心能不能登录。只要能登录,拿到的是密码原文还是密码密文其实没区别。
  2. 我们考虑传输加密的情况

    • 明文传输只有一种方式可以登录,就是通过密码原文

    • 加密传输有两种方式可以登录,其一登录框的原文,另外一种是跳过登录框的密文

    • 如果传输加密方式和密码储存加密方式一样,存储密码加密就没有意义了。

  3. 我们考虑 加密传输和加密存储 相互组合的4种情况

    • 第1种: 加密存储,加密传输。加入加密算法用的任意摘要算法。
      结果:用户输入明文,前端必须知道加密算法,然后把密文传递给后端,等值比对。传输过程密文泄露,后可以直接用密文直接登录,后端数据库泄露以后所有用户账号都可以登录。

    • 第2种:加密存储,明文密码传输。加入加密算法用的任意摘要算法。
      结果:用户输入明文,前端不知道用的啥加密算法,明文密码传递给后端以后偶,加密比对。传输过程明文密码泄露以后,可以直接登录,后端数据库泄露以后,别人不知道加密程序里面的加密方式,得不到密码原文,不会被被泄露。

    • 第3种:明文存储,明文传输。
      结果:用户输入明文,后端等值比对。传输过程,或者数据库泄露,都会被别的用户登录。

    • 第4种:明文存储,加密传输。
      结果:用户输入明文密码,前端需要知道加密算法,后端使用同样算法得到加密验证。传输过程密文泄露,用密文调用接口可以直接登录。数据库泄露,界面可以直接登录。

  4. 综合上结果,传输过程使用任意方式加密都没得用,不管是摘要算法,对称加密,还是非对称加密(除非通过另外一种安全的方式周期性的更换密钥)。因为你的登录接口,接受的就是这个东西,传输过程被窃取了,就能直接用。

  5. 明文存储密码数据库泄露的时候,必定会导致所有用户的账号可以被攻击者登录。密文存储密码的时候,如果攻击者不知道你程序里面使用的啥加密算法,即便它知道了密文也不知道原文,不能登录。前提是加密算法不会被很容易猜出来,或者说不容易得到原文。

  6. 谨记,后端密码加密存储,然后前端用同样的加密方式加密用户密码原文,然后传递给后端做等值比对是最不安全的做法,和全明文无异,甚至是脱了裤子放屁。如果穿过程用另外一种加密方式保证传输安全是可以的,但是绝对不能和数据库存储的加密方式一样。

标签:加密,登录,传输,明文,密码,密文,不要
From: https://www.cnblogs.com/cxygg/p/17099880.html

相关文章

  • ubuntu10.04.04系统 设置root用户默认登录用户,并设定成无需密码认证自动登录
    由于ubuntu10.04.04系统登录用户为安装系统时设置,而安装系统登录用户又不能设置为root用户。故如果系统需要设置为root登录,则需要重新设定登录用户名。主要步骤如下:1.首......
  • linux系统 修改密码显示 passwd:模块未知
    故障现象  原因分析安装strace命令进行跟踪#yuminstall-ystrace抓取报错日志#strace-opasswd.logpasswd 查看日志,发现/usr/lib64/security目录中没......
  • vue项目使用sha256加密
    sha256:1.中文名、英文名,全都叫sha2562.因为哈希值是固定大小的 256位所以名字有个2563.听说最近流行的比特币,区块链中挺多地方都用到了这个加密算法安装:npminsta......
  • python_sha256加密
    Python数据加解密技术_SHA256算法importhashlib#1、待加密的字符串str='helloworld'#2、实例化一个sha256对象sha256=hashlib.sha256()#3、调用update方法......
  • nodejs中aes-128-cbc加密和解密
    和java程序进行交互的时候,java那边使用AES128位填充模式:AES/CBC/PKCS5Padding加密方法,在nodejs中采用对应的aes-128-cbc加密方法就能对应上,因为有使用向量(iv),所以nodejs中......
  • Android md5加密
    publicStringmd5(Strings){try{//CreateMD5HashMessageDigestdigest=java.security.MessageDigest.getInstance("MD5");di......
  • Android md5加密
    publicStringmd5(Strings){try{//CreateMD5HashMessageDigestdigest=java.security.MessageDigest.getInstance("MD5");di......
  • 保存数据到手机内存(QQ登录保存密码)
    点击记住密码,保存账号密码。1.获取各数据的对象2.判断记住密码是否被选中,如果被选中,存起来3.登录成功显示界面:<spanstyle="font-size:14px;"><LinearLayoutxmlns:andro......
  • 保存数据到手机内存代码优化(QQ登录保存密码)
    packagecom.itheima28.qqlogin;importjava.io.File;importjava.util.Map;importcom.itheima28.qqlogin.utils.Utils;importcom.itheima28.qqlogin.utils.UtilsOfSDCard......
  • Zeppelin勒索软件重出水面,采用新的入侵和加密策略
    根据国外媒体报道,Zeppelin勒索软件重新浮出水面,并与近期针对各种垂直行业,尤其是医疗保健行业以及关键基础设施组织攻击,在攻击活动中采用新的入侵和加密策略。根据美国网......