对于AES和RSA算法的结合使用以及MD5加盐注册登录时的密码加密

RSA和AES结合使用

接上篇的RSA和AES算法加密之后,AES对称算法对数据量大的加密比较快,而RSA公私钥加密的话会影响加密效率,但是AES的加密与解密的密钥是一致的,导致密钥不能外泄,密钥在网络传输过程中,很有可能会导致密钥外泄。
由此可以将RSA和AES两种结合起来,让RSA来加密AES密钥,AES加密内容,这样效率和安全性都能得到保障。

以下是一个流程图和流程说明。
在这里插入图片描述
1.服务端产生RSA密钥对,把公钥发给客户端
2.客户端的明文文用AES密钥加密生成密文,然后通过RSA公钥加密AES密钥,就生成了key和info
3.把这两个发送给服务端,用RSA私钥解密得到AES密钥
4.再用AES密钥去解密密文,得到明文

注册登录时的密码加密

MD5加盐

这是一篇比较详细的关于MD5的原文链接:https://blog.csdn.net/china_jeffery/article/details/78789108

MD5是MD5消息摘要算法的简称(英语:MD5 Message-Digest Algorithm),是一种广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(即哈希值),用于确保信息传输的完整性。MD5由罗纳德·李维斯特设计,于1992年公开,用以取代MD4算法。这套算法的程序在RFC 1321 中被加以规范。
将数据(如一段文字)运算变为另一固定长度值,是散列算法的基础原理。
MD5已经被证实可以被碰撞破解。对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。

只要明文相同,那么MD5加密后的密文就相同,于是攻击者就可以通过撞库的方式来破解出明文。 https://www.cmd5.com/ 这是一个破解MD5的网站,是收集了大量的MD5密文和明文的一个库,所以现在的MD5并不安全。

这是我构想的一个密码传输的流程:(如果有哪里不对或者有更好的欢迎交流)
在这里插入图片描述

这时候就需要加点佐料,让它变变味儿啦。

加盐的算法有很多,考虑到加盐的目的(防止拥有系统底层权限的人员),想做到绝对不可反查是很困难的,需要有其他软件或者硬件的协助,在很多场景下的实用性比较差。如果只是想增加反查的难度,倒是有很多方法可以选择,一种便利的方法是md5(Password+UserName),即将用户名和密码字符串相加再MD5,这样的MD5摘要基本上不可反查。但有时候用户名可能会发生变化,发生变化后密码即不可用了(验证密码实际上就是再次计算摘要的过程)。

所以要MD5加盐了,“盐”指的是计算机动态生成的随机码,这个随机码会与密码一起被MD5进行散列计算,再与生成序列一同存进数据库。再次进行登录验证密码时,由于经过散列计算处理的数据不可逆向恢复,所以需通过对输入密码结合随机码进行散列计算,将得到的值再去数据库进行匹配

MD5是不可逆的,所以就算是管理员打开数据库中的数据时也是经过加密的,这样更保障了数据的安全性,在我们日常中需要忘记密码了,也是只能改密码并不能获取到原来的密码。

因此我们做了一个非常简单的算法,每次保存密码到数据库时,都生成一个随机16位数字,将这16位数字和密码相加再求MD5摘要,然后在摘要中再将这16位数字按规则掺入形成一个48位的字符串。在验证密码时再从48位字符串中按规则提取16位数字,和用户输入的密码相加再MD5。按照这种方法形成的结果肯定是不可直接反查的,且同一个密码每次保存时形成的摘要也都是不同的。

或者 可以往密码中加盐的时候,固定加的位置,比如说从第三位到第六位是盐等等,使得其他人获取不到真正的密码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity人物移动的几种方法

Unity人物移动的几种方法 方法一:transform.Translate世界坐标系移动自身移动的案例 方法二:CharacterController.Move(vector dir)按照世界坐标轴移动按照自身坐标轴移动 方法三:CharacterController.SimpleMove&…

可应用于实际的14个NLP突破性研究成果(四)

可应用于实际的14个NLP突破性研究成果(一) 可应用于实际的14个NLP突破性研究成果(二) 可应用于实际的14个NLP突破性研究成果(三) 11.对序列建模的通用卷积和递归网络的实证评估作者:SHAOJIE …

Java裁剪压缩PNG图片,透明背景色变黑问题解决

package com.gblfy.test;import java.awt.Graphics2D; import java.awt.Image; import java.awt.Transparency; import java.awt.image.BufferedImage; import java.io.File;import javax.imageio.ImageIO;/*** 图片工具类*/ public class ImageUtil {/*** 裁剪PNG图片工具类**…

量子通信,到底是什么工作原理?

戳蓝字“CSDN云计算”关注我们哦!作者 | 小枣君责编 | 阿秃今天,小枣君要和大家聊的是“量子通信”。最开始计划写这个专题的时候,小枣君的内心是很纠结的。鲜枣课堂的目的,就是传递“普通人都能听懂”的知识。每一个知识点专题&a…

记录——oracle数据库备份

oracle数据库备份Oracle数据库的三种标准的备份方法: 1.导出/导入(EXP/IMP)。 2.热备份。 3.冷备份。 注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份。 一、导出/导入(Expo…

图(关系网络)数据分析及阿里应用

2019年1月18日,由阿里巴巴MaxCompute开发者社区和阿里云栖社区联合主办的“阿里云栖开发者沙龙大数据技术专场”走近北京联合大学,本次技术沙龙上,阿里巴巴资深技术专家钱正平为大家分享了大数据技术背景下图数据的应用前景,以及阿…

架构的“一小步”,业务的一大步

前言: 谈到“架构”这两个字,会有好多的名词闪现,比如:分层架构、事件驱动架构、DDD、CQRS等。亦或者一堆的软件设计原则,如:KISS原则(Keep it Simple and Stupid)、SOLID原则(单一责任原则、开…

项目管理过程组和知识领域

文章目录一、5大过程组 10个知识领域 49个过程二、10个知识领域 49个过程的输入、工具、输出一、5大过程组 10个知识领域 49个过程 知识领域启动过程组规划过程组执行过程组监控过程组收尾过程组4.项目整合管理4.1 制定项目章程4.2 制定项目管理计划4.3 指导与管理…

记录 kettle 表输出数组下标越界异常

1.报错是发送在每次写完10000条之后,再次写10000条数据时报错。 2.kettle 表输出组件设置的是每次提交10000 3.Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 2021/05/10 16:37:54 - 表输出.4 - Unexpected error inserting row 2021/05/10 1…

牵手大企,关于图形计算、HPC与AI,NVIDIA言有尽而意无穷!

戳蓝字“CSDN云计算”关注我们哦!作者 | 晶少出品 | CSDN云计算(ID:CSDNcloud)在黄仁勋看来,随着摩尔定律消亡,GPU加速才是撬动未来高性能计算发展的有力杠杆。有数据显示,目前NVIDIA已经销售了…

如何合理的规划jvm性能调优

JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考虑各方面的影响。但也有一些基础的理论和原则,理解这些理论并遵循这些原则会让你的性能调优任务将会更加轻松。为了更好的理解本篇所介绍的内容。你需要已经了解和遵循以下内…

如何衡量研发效能?阿里资深技术专家提出了5组指标

阿里妹导读:新的一年,相信很多产品技术团队把研发效能提升列为重要的目标,甚至还有团队为此专门成立了项目组。然而,到底什么是好的研发效能,却很少有人能够表达清楚。标准不清晰,又何谈提升? …

官宣!2020年,这5类程序员要过苦日子!网友:明年咋活?!

2020年就要来了,有人说:经历了2019年的“市场变革”后,未来这一年将会至关重要,是决定各自命运的定型年。那么对于程序员来说,明年的风向标是如何?哪些编程语言会持续大热,哪些要做好被“淘汰”…

Sublime Text批量删除空白行

1)替换处理 CTRLH打开replace功能,勾选上左侧的regular expression,并填写 find what栏: \s$ (正则表达式) replace with栏: (这行留空) 接着点replace all即可

Perseus-BERT——业内性能极致优化的BERT训练方案【阿里云弹性人工智能】

一,背景——横空出世的BERT全面超越人类 2018年在自然语言处理(NLP)领域最具爆炸性的一朵“蘑菇云”莫过于Google Research提出的BERT(Bidirectional Encoder Representations from Transformers)模型。作为一种新型的…

Kubernetes的共享GPU集群调度

问题背景 全球主要的容器集群服务厂商的Kubernetes服务都提供了Nvidia GPU容器调度能力,但是通常都是将一个GPU卡分配给一个容器。这可以实现比较好的隔离性,确保使用GPU的应用不会被其他应用影响;对于深度学习模型训练的场景非常适合&#…

华为云WeLink正式发布,这是更懂企业的智能工作平台一枚!

今日,华为云在京发布智能工作平台WeLink。 对此,华为云副总裁、联接与协同业务总裁薛浩表示:“华为云WeLink源自华为数字化转型实践,是更懂企业的智能工作平台,具备智能高效、安全可靠、开放共赢三大核心优势&#xff…

项目管理过程组和知识领域 简介重点记忆

文章目录一、5大过程组 10个知识领域 49个过程二、10个知识领域 49个过程的输入、工具、输出一、5大过程组 10个知识领域 49个过程 知识领域启动过程组规划过程组执行过程组监控过程组收尾过程组4.项目整合管理4.1 制定项目章程4.2 制定项目管理计划4.3 指导与管理…

一致性协议浅析:从逻辑时钟到Raft

前言 春节在家闲着没事看了几篇论文,把一致性协议的几篇论文都过了一遍。在看这些论文之前,我一直有一些疑惑,比如同样是有Leader和两阶段提交,Zookeeper的ZAB协议和Raft有什么不同,Paxos协议到底要怎样才能用在实际工…

PMP 随堂笔记

CPi挣值管理 临界比值 不属于挣值管理 临界比值 1为分界点 党校与1时,差 大于1时为好 成本激励由有3种场景: 第一种场景:超出目标费用 目标10w 利润1w 分摊比例70/30 实际成本12w 也就是多花了(12w-10w(目标费用)2w 甲方罚乙方利润费用&…