密码加密md5和加盐处理
关于密码加密处理md5和加盐处理
md5 加密:
用户注册时将加密后的密码发送给后端存储当登陆的时候,
再将加密后的密码和数据库中加密的密码相匹配。
此加密无须解密
一.md5的在vue中的用法:
1.安装。
npm install js-md5 -D
2.使用。
(1)项目中引入md5模块。
import md5 from “js-md5”
(2)在main.js里面将md5转换为vue原型
import md5 from "js-md5"
Vue.prototype.$md5=md5
3.示例
<input type="number" v-model="value">
console.log("加密密码:"+ this.$md5(this.value))
二.md5的在react中的用法:
第一步:
npm 安装js-md5,文件根目录下安装,指令如下
npm install --save js-md5 //安装到生产环境
第二步:
引入 js-md5
在项目入口文件 index.js 里 引入 js-md5
import md5 from 'js-md5'
挂载到react的原型上
React.Component.prototype.$md5 = md5
第三步:
去组件中使用
import React, { Component } from 'react'
class friend extends Component { componentWillMount () { let str = '123456' let data = this.$md5(str) console.log(data) // e10adc3949ba59abbe56e057f20f883e } render() { return ( <div className="friend"> friend朋友</div> )}}
export default friend
三加盐处理
直接对重要数据进行MD5处理后,反向解密确实难度很大,但还是可以找出破绽的,如果名为李自成的用户可以查看数据库,那么他可以观察到自己的密码和别人的密码加密后的结果都是一样,那么,别人用的和自己就是同一个密码,这样,就可以利用别人的身份登录了。那么我们以前的加密方法是否对这种行为失效了呢?其实只要稍微混淆一下就能防范住了,这在加密术语中称为“加盐”。具体来说就是在原有材料(用户自定义密码)中加入其它成分(一般是用户自有且不变的因素),以此来增加系统复杂度。当这种盐和用户密码相结合后,再通过摘要处理,就能得到隐蔽性更强的摘要值。下面请见代码:
// 对密码进行加盐后加密,加密后再通过Hibernate往数据库里存
String changedPswd = DigestUtils.md5Hex(name + pswd);
就是这样简单,上面代码中盐就是用户名,可以的话还可以用用户注册时的邮件,注册时间等非空信息(如果是空信息这个加盐处理会失效)。他们的实际登录密码都是123456,但光看用户记录是完全看不出来的。这下别有用心的人打开数据库看到的密码都完全不一样,他以前的手段就失效了。
密码加密md5和加盐处理相关推荐
- php 挂马 密码123456,admin密码-常用密码加密md5值,123456,admin,admin888
一 : 常用密码加密md5值,123456,admin,admin888 123456这个经md5算法加密之后是多少? 16位:49ba59abbe56e057 32位:e10adc3949ba59a ...
- 常用密码加密md5值,123456,admin,admin888
123456这个经md5算法加密之后是多少? 16位:49ba59abbe56e057 32位:e10adc3949ba59abbe56e057f20f883e admin这个经md5算法加密之后是多 ...
- 用户注册进行密码加密MD5
工具类util package com.cbb.util; import org.apache.commons.codec.digest.DigestUtils; import org.springf ...
- 密码加密(MD5)原则
用户在使用软件时所提交的密码,不应该被记录下来,如果将用户的密码记录,这是不安全的做法! 当用户提交注册信息时,密码必须被记录下来,为了保障密码安全,必须对用户提交的原始密码进行加密处理! 用户提交的 ...
- 对于AES和RSA算法的结合使用以及MD5加盐注册登录时的密码加密
RSA和AES结合使用 接上篇的RSA和AES算法加密之后,AES对称算法对数据量大的加密比较快,而RSA公私钥加密的话会影响加密效率,但是AES的加密与解密的密钥是一致的,导致密钥不能外泄,密钥在网 ...
- 对用户密码进行md5加密的代码实现
对密码进行md5加密,然后插入到数据库代码实现:
- C#中使用MD5对用户密码加密与解密
C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...
- C#对用户密码使用MD5加密与解密
C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...
- MD5之C#密码加密-备忘录
MD5算法说明: 加密算法都是对字节数组或流进行加密的.MD5的算法则是对原始的字节数组随机(有算法的随机)抽取几个字节,经过运算后返回新的字节(加密以后的字节).它不 仅可以对字符串进行加密,也可 ...
- 简单的MD5密码加密和解密方法
MD5的算法是不可逆的,MD5被广泛用于密码验证和消息体完整性验证. 下面的例子用到了密码加密和登陆时的解密的基本方法.当然这样很容易被暴力破解,可以做其他改进,如先设计一个足够复杂的密码,然后将他的 ...
最新文章
- Java 11新特性解读
- VTK:PolyData之PointInsideObject2
- iOS 之 const
- Kafka笔记-Kafka集群搭建
- git - 基础 - 01 - git reset --hard 回滚以后,看不到之前的分支版本怎么解决:
- context.Request.Files post 上传问题件
- Selenium利用POI读写excel文件
- UVa 11636 - Hello World!
- OpenCV-霍夫圆变换cv::HoughCircles
- [2018.03.13 T1] 比赛(contest)
- visual c++ build tools下载地址
- 纳米机器人最新研究进展(2021年)
- s5pv210时钟系统详解
- Python的pep8(代码规范)
- hp服务器不显示错误代码,惠普服务器开启不了
- 蒂娜交易准则(黄金高胜算交易)
- 无线网卡、无线上网卡
- BearSimple - 一款简洁的Typecho主题
- coco2d-x添加手柄
- ME60BRAS配置详解