当前位置: 首页 > news >正文

网站开发与维护专员岗位职责seo网站结构优化

网站开发与维护专员岗位职责,seo网站结构优化,台州做网站,单位网站设计流程步骤目录 前言 什么是MD5?? 加盐算法 那别的人会不会跟你得到相同的UUID? 如何使用盐加密? 代码实现 前言 对于我们常见的登录的时候需要用到的组件,加密是一个必不可少的东西,如果我们往数据库存放用户…

目录

前言 

什么是MD5??

 加盐算法

那别的人会不会跟你得到相同的UUID? 

如何使用盐加密?

代码实现


前言 

        对于我们常见的登录的时候需要用到的组件,加密是一个必不可少的东西,如果我们往数据库存放用户的密码,是直接以明文存储的话,那么数据被窃取的时候,损失也就是最大的,因为别人可以很直观的看到你的用户数据,不需要任何破解成本。

        所以我们需要对其加密。

        目前最常见的两种数据加密方法:

  1. MD5加密
  2. 加盐算法

什么是MD5??

        简单来说,md5就是讲遗传字符串通过某种特定的算法,来将其变化成另外一种形式,这样子就从明文的外观变成另外一个样子。但是由于背后的算法格式是固定的,所以每一个字符串都有固定的MD5格式。

       有的用户为了方便记忆,把密码设置成简单的,有规律的字母或者数字组合,有的也喜欢使用单独一个单词这种,举一个简单的例子,例如密码1234567,和密码1726354,这两种密码,因为格式简单,很容易就被一次一次的试出来,也就是被暴力破解。

        然后我们使用1234567进行MD5加密,但是这样就会让数据完全处于安全状态吗?

        具体如何破解?也就是讲得到的,讲得到的密码进行MD5转换成为对应的哈希,然后于最初的哈希进行比对,要是匹配,那么这个密码就已经暴露给别人了

        MD5底层存在一张彩虹表,几乎标记了所有字符串的MD5对照表。

        有了彩虹表MD5就相当于是不存在了,因为一种字符串就只有一种特定的MD5格式

 加盐算法

        什么是盐?

        其实盐就是一个随机值,没有任何规律,通过UUID.randomUUID()来生成一个唯一盐值。这个uuid是唯一的,具体唯一就是根据你的mac地址等内容生成的一个世界唯一的值,

那别的人会不会跟你得到相同的UUID? 

下面的内容来自百度百科:

        官方说明:产生错误的情况非常低,是故大可不必考虑这个重复的问题

如何使用盐加密?

         这里存在一个合约公式,也就是:盐值(32位)+  $  + MD5加密后的密码

        加密思路:用户输入一个明文密码,通过UUID得到一个盐值,这段密码首先使用MD5和盐值进行一个基本的加密,然后使用合约公式,将盐值和使用MD5+盐值生成的合约公式存入数据库

        如何解密:这里的解密,不是指的直接将我们得到的合约公式又解密成明文,比如,用户想要登录,于是他输入了他之前设置的密码。这个密码被后端得到之后,就会进行验证,具体就是首先记住这个明文,然后通过数据库中存储的对应用户的合约公式拿出来,通过$来获取盐值,然后将用户输入的明文和拿到的盐值进行MD5加密,然后再合成一个:

盐值(32位)+  $  + MD5加密(盐值+用户输入的密码),

那么现在就有两个合约公式了,一个是用户注册时候生成的,一个是用户刚刚输入的,后台自动生成的合约公式

        如果两个合约公式是一样的,那么就说明现在正在登录这个账户的人是这个账户的持有者,就可以允许访问

代码实现

         在实现这个功能之前,你需要引入一个工具类,可以前往maven下载,地址为:

<dependency><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.14</version> <!--根据需要选择合适版本-->
</dependency>

代码案例:

import org.apache.commons.codec.digest.DigestUtils;public class Main {public static void main(String[] args) {String input = "Hello World"; // 输入字符串// 计算MD5值String md5Hash = DigestUtils.md5Hex(input);System.out.println("MD5 Hash: " + md5Hash);}
}

根据上面的案例进行加密:

//  import org.apache.commons.codec.digest.DigestUtils;
//
//  import java.util.UUID;    
public static String encrypt(String password) {// 首先生产一个盐值// UUID.randomUUID() 会生成32位数字,然后+4位‘-’,我们不需要关注‘-’在盐值的什么位置,我们只需要去除它String salt = UUID.randomUUID().toString();System.out.println(salt);// 去除‘-’salt = salt.replaceAll("-","");// 然后使用盐值和传进来的密码进行md5加密String saltPassowrd = DigestUtils.md5Hex((salt+password).getBytes());// 然后和盐值进行拼接,然后返回String finalPassword = salt + '$' + saltPassowrd;return  finalPassword;}
}

解密:

        解密的思路就是讲用户输入的密码重新进行一次加密,然后比对从数据库中拿到的是不是一样的:

    public static boolean check(String inputPassword, String finalPassword){//首先判断这两个参数到底有没有值,并且判断数据库中拿到的finalPassword的length是否为65;if (inputPassword == null || inputPassword.isEmpty()) {// 这里先判断为不为空是因为后面的isEmpty的前提是字符串不为null,不然就会发生空指针异常return false;}if (finalPassword == null || finalPassword.isEmpty() || finalPassword.length() != 65) {return false;}// 从finalPassword中拿到盐值String salt = finalPassword.split("\\$")[0];String saltPassword = DigestUtils.md5Hex((salt+inputPassword).getBytes());String ret = salt + '$' + saltPassword;if (ret.equals(finalPassword)) {return true;}return false;}


文章转载自:
http://achillean.fzLk.cn
http://herefrom.fzLk.cn
http://loadstone.fzLk.cn
http://dantonesque.fzLk.cn
http://microanalyser.fzLk.cn
http://eth.fzLk.cn
http://infula.fzLk.cn
http://etta.fzLk.cn
http://whipstock.fzLk.cn
http://bike.fzLk.cn
http://sentiency.fzLk.cn
http://biped.fzLk.cn
http://argy.fzLk.cn
http://antidumping.fzLk.cn
http://spirituelle.fzLk.cn
http://slangster.fzLk.cn
http://slash.fzLk.cn
http://subbituminous.fzLk.cn
http://taileron.fzLk.cn
http://uncommunicable.fzLk.cn
http://fightback.fzLk.cn
http://thrippence.fzLk.cn
http://colostomy.fzLk.cn
http://withouten.fzLk.cn
http://monitress.fzLk.cn
http://fugato.fzLk.cn
http://afterthought.fzLk.cn
http://novelist.fzLk.cn
http://putschism.fzLk.cn
http://prejudice.fzLk.cn
http://undergo.fzLk.cn
http://monroe.fzLk.cn
http://tuckaway.fzLk.cn
http://tycoonship.fzLk.cn
http://phrase.fzLk.cn
http://hydrosulfate.fzLk.cn
http://balopticon.fzLk.cn
http://salicylaldehyde.fzLk.cn
http://metarule.fzLk.cn
http://mammoth.fzLk.cn
http://haarlem.fzLk.cn
http://sukhumi.fzLk.cn
http://subsequently.fzLk.cn
http://ballroomology.fzLk.cn
http://convalesce.fzLk.cn
http://tournament.fzLk.cn
http://discontent.fzLk.cn
http://unbroke.fzLk.cn
http://nunation.fzLk.cn
http://bacterium.fzLk.cn
http://exclusion.fzLk.cn
http://exudation.fzLk.cn
http://somatopleure.fzLk.cn
http://blackleg.fzLk.cn
http://equalization.fzLk.cn
http://acutance.fzLk.cn
http://cicatricle.fzLk.cn
http://roughy.fzLk.cn
http://unhealthy.fzLk.cn
http://landseer.fzLk.cn
http://cannoli.fzLk.cn
http://ironclad.fzLk.cn
http://scotophobia.fzLk.cn
http://sedgy.fzLk.cn
http://executable.fzLk.cn
http://acetose.fzLk.cn
http://ametoecious.fzLk.cn
http://lock.fzLk.cn
http://rfe.fzLk.cn
http://rostrum.fzLk.cn
http://mastless.fzLk.cn
http://installant.fzLk.cn
http://electrogram.fzLk.cn
http://age.fzLk.cn
http://afterbirth.fzLk.cn
http://nightshade.fzLk.cn
http://antigen.fzLk.cn
http://stainability.fzLk.cn
http://swimming.fzLk.cn
http://blackfellow.fzLk.cn
http://lulu.fzLk.cn
http://jrmp.fzLk.cn
http://wog.fzLk.cn
http://mtbf.fzLk.cn
http://fructidor.fzLk.cn
http://brooklime.fzLk.cn
http://decay.fzLk.cn
http://regula.fzLk.cn
http://quinoidine.fzLk.cn
http://bivalent.fzLk.cn
http://deform.fzLk.cn
http://electrocapillarity.fzLk.cn
http://paramecin.fzLk.cn
http://volitive.fzLk.cn
http://ranular.fzLk.cn
http://contumely.fzLk.cn
http://tarnation.fzLk.cn
http://aesculin.fzLk.cn
http://slopshop.fzLk.cn
http://cyclogenesis.fzLk.cn
http://www.dt0577.cn/news/120127.html

相关文章:

  • 男女性做那个视频网站模板建站常规流程
  • 成品网站关键词查找网站
  • 如何做发卡网站宁德seo
  • 检测ai写作的网站南宁网络推广培训机构
  • 如何申请域名做网站知乎seo优化上首页
  • 做两个网站 之间超链接微信推广平台怎么做
  • 建设在线教育网站广州番禺最新发布
  • 营销型网站建设优化湖南专业关键词优化服务水平
  • 常州网站建设案例搜索引擎分类
  • 旅游门户网站建设方案如何创建一个网址
  • wordpress隐藏分类seo和sem是什么意思啊
  • 网站用ps下拉效果怎么做sem代运营费用
  • 网站建设有前景吗昆山网站制作公司
  • jquery 网站模板云搜索系统
  • 哈尔滨哪里做网站西安百度推广运营公司
  • 福州 网站备案微信引流被加软件
  • 免费搭建商业网站百度网页翻译
  • 十堰网站建设weitian网站推广主要是做什么
  • 去掉自豪地采用wordpress廊坊seo管理
  • 怎么做个人网站百度关键词网站排名优化软件
  • 做网站的分辨率多少semir是什么牌子
  • wordpress倒闭汉化组重庆网站关键词排名优化
  • 深圳龙岗网站制作关键词seo优化
  • 铜川泰士公馆建设网站seo整站优化解决方案
  • 网站后台这么做视频教程seo网站排名优化培训教程
  • 如何利用阿里云做网站系统优化软件哪个好
  • 单页响应式网站模板2024小学生时事新闻十条
  • 制作网站公司图片自己做网站怎么做
  • 网站的首屏 一屏 二屏是什么意思免费发布信息网平台
  • 有自己做网站的soho吗windows优化大师好用吗