关于密码加密处理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和加盐处理相关推荐

  1. php 挂马 密码123456,admin密码-常用密码加密md5值,123456,admin,admin888

    一 : 常用密码加密md5值,123456,admin,admin888 123456这个经md5算法加密之后是多少? 16位:49ba59abbe56e057 32位:e10adc3949ba59a ...

  2. 常用密码加密md5值,123456,admin,admin888

    123456这个经md5算法加密之后是多少? 16位:49ba59abbe56e057 32位:e10adc3949ba59abbe56e057f20f883e admin这个经md5算法加密之后是多 ...

  3. 用户注册进行密码加密MD5

    工具类util package com.cbb.util; import org.apache.commons.codec.digest.DigestUtils; import org.springf ...

  4. 密码加密(MD5)原则

    用户在使用软件时所提交的密码,不应该被记录下来,如果将用户的密码记录,这是不安全的做法! 当用户提交注册信息时,密码必须被记录下来,为了保障密码安全,必须对用户提交的原始密码进行加密处理! 用户提交的 ...

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

    RSA和AES结合使用 接上篇的RSA和AES算法加密之后,AES对称算法对数据量大的加密比较快,而RSA公私钥加密的话会影响加密效率,但是AES的加密与解密的密钥是一致的,导致密钥不能外泄,密钥在网 ...

  6. 对用户密码进行md5加密的代码实现

    对密码进行md5加密,然后插入到数据库代码实现:

  7. C#中使用MD5对用户密码加密与解密

    C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...

  8. C#对用户密码使用MD5加密与解密

    C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1 ...

  9. MD5之C#密码加密-备忘录

    MD5算法说明:  加密算法都是对字节数组或流进行加密的.MD5的算法则是对原始的字节数组随机(有算法的随机)抽取几个字节,经过运算后返回新的字节(加密以后的字节).它不 仅可以对字符串进行加密,也可 ...

  10. 简单的MD5密码加密和解密方法

    MD5的算法是不可逆的,MD5被广泛用于密码验证和消息体完整性验证. 下面的例子用到了密码加密和登陆时的解密的基本方法.当然这样很容易被暴力破解,可以做其他改进,如先设计一个足够复杂的密码,然后将他的 ...

最新文章

  1. Java 11新特性解读
  2. VTK:PolyData之PointInsideObject2
  3. iOS 之 const
  4. Kafka笔记-Kafka集群搭建
  5. git - 基础 - 01 - git reset --hard 回滚以后,看不到之前的分支版本怎么解决:
  6. context.Request.Files post 上传问题件
  7. Selenium利用POI读写excel文件
  8. UVa 11636 - Hello World!
  9. OpenCV-霍夫圆变换cv::HoughCircles
  10. [2018.03.13 T1] 比赛(contest)
  11. visual c++ build tools下载地址
  12. 纳米机器人最新研究进展(2021年)
  13. s5pv210时钟系统详解
  14. Python的pep8(代码规范)
  15. hp服务器不显示错误代码,惠普服务器开启不了
  16. 蒂娜交易准则(黄金高胜算交易)
  17. 无线网卡、无线上网卡
  18. BearSimple - 一款简洁的Typecho主题
  19. coco2d-x添加手柄
  20. ME60BRAS配置详解

热门文章

  1. [phyton]文件的简单读写练习
  2. 你想要的宏基因组-微生物组知识全在这(2020.10)
  3. java pack unpack_pack/unpack函数与二进制
  4. Aspose.word设置页眉
  5. Android10支持ntfs格式u盘
  6. 云杰恒指:8.27恒指期货实盘指导交易复盘
  7. 61-70作业关系符运算
  8. 笔记本电脑亮度调节键失灵了,该怎么解决?
  9. Win10 时间与Internet时间同步超时
  10. mysql 设置只读事务_只读事务还是只读模式