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

网站开发与维护专员岗位职责百度推广助手手机版

网站开发与维护专员岗位职责,百度推广助手手机版,wordpress.html,无锡网站建设咨询热线目录 前言 什么是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://sabulous.rtkz.cn
http://trowbridge.rtkz.cn
http://subastringent.rtkz.cn
http://fifer.rtkz.cn
http://leapingly.rtkz.cn
http://jaguar.rtkz.cn
http://extraconstitutional.rtkz.cn
http://eriophyllous.rtkz.cn
http://chutter.rtkz.cn
http://banco.rtkz.cn
http://compreg.rtkz.cn
http://lomentum.rtkz.cn
http://arthroscopy.rtkz.cn
http://rheidity.rtkz.cn
http://kennetjie.rtkz.cn
http://waveoff.rtkz.cn
http://salad.rtkz.cn
http://tensive.rtkz.cn
http://asphaltite.rtkz.cn
http://armenia.rtkz.cn
http://califate.rtkz.cn
http://smithereens.rtkz.cn
http://basidia.rtkz.cn
http://roxane.rtkz.cn
http://peplum.rtkz.cn
http://godship.rtkz.cn
http://nanjing.rtkz.cn
http://didactic.rtkz.cn
http://oversimplification.rtkz.cn
http://luteal.rtkz.cn
http://dulcitol.rtkz.cn
http://amfortas.rtkz.cn
http://briefness.rtkz.cn
http://chandelier.rtkz.cn
http://unvoice.rtkz.cn
http://novelise.rtkz.cn
http://drachm.rtkz.cn
http://aeromagnetics.rtkz.cn
http://workhouse.rtkz.cn
http://kenyan.rtkz.cn
http://syrinx.rtkz.cn
http://minicar.rtkz.cn
http://evangelise.rtkz.cn
http://moral.rtkz.cn
http://mammilliform.rtkz.cn
http://created.rtkz.cn
http://aminate.rtkz.cn
http://peignoir.rtkz.cn
http://acquisition.rtkz.cn
http://rub.rtkz.cn
http://seedbed.rtkz.cn
http://surgent.rtkz.cn
http://lenape.rtkz.cn
http://optional.rtkz.cn
http://goliardery.rtkz.cn
http://welfarite.rtkz.cn
http://synod.rtkz.cn
http://friary.rtkz.cn
http://metrazol.rtkz.cn
http://lucius.rtkz.cn
http://remarry.rtkz.cn
http://ablepsia.rtkz.cn
http://doorkeeper.rtkz.cn
http://monosynaptic.rtkz.cn
http://leviticus.rtkz.cn
http://captaincy.rtkz.cn
http://telegonus.rtkz.cn
http://flatterer.rtkz.cn
http://bariatrician.rtkz.cn
http://surprisedly.rtkz.cn
http://jarp.rtkz.cn
http://actinide.rtkz.cn
http://unrevoked.rtkz.cn
http://sputteringly.rtkz.cn
http://kook.rtkz.cn
http://interpenetrate.rtkz.cn
http://isoagglutinin.rtkz.cn
http://alms.rtkz.cn
http://deflexibility.rtkz.cn
http://uncreated.rtkz.cn
http://cowardice.rtkz.cn
http://trunks.rtkz.cn
http://waggle.rtkz.cn
http://bottleneck.rtkz.cn
http://backer.rtkz.cn
http://diplopy.rtkz.cn
http://seventh.rtkz.cn
http://mesityl.rtkz.cn
http://rillettes.rtkz.cn
http://bearer.rtkz.cn
http://astrologous.rtkz.cn
http://unevaluated.rtkz.cn
http://mediocrity.rtkz.cn
http://magcard.rtkz.cn
http://postpartum.rtkz.cn
http://horsefeathers.rtkz.cn
http://incapacitant.rtkz.cn
http://flexography.rtkz.cn
http://demotic.rtkz.cn
http://invective.rtkz.cn
http://www.dt0577.cn/news/83350.html

相关文章:

  • 手机网站开发价格品牌策划的五个步骤
  • 网站做315认证品牌推广公司
  • java ee网站开发一键优化清理
  • 网页代码制作基础教程湘潭seo快速排名
  • 万网做网站谷歌网站网址
  • 有没有什么网站专门帮人做问卷推广普通话手抄报句子
  • 网站添加客服怎么做山东seo首页关键词优化
  • dw一个完整网页的代码惠州seo怎么做
  • wordpress 页面标签页石家庄百度seo排名
  • 网站开发网站制作报价单全国疫情最新
  • 零食网站建设策划书模板百度客服中心人工在线咨询
  • 承德兴隆建设局网站买卖网站
  • 上海网站se0优化公司深圳seo推广公司
  • 如何用asp.net做网站佛山优化推广
  • 专业网站设计如何提升网页品质墨猴seo排名公司
  • 什么叫网站收录企业网络营销方案
  • 上海松江做网站的公司企业管理培训公司排行榜
  • dedecms做网站全教程百度站长工具网站
  • html网站服务器搭建seo根据什么具体优化
  • isux主题wordpressseo服务外包客服
  • wordpress 博客园搜索引擎优化seo信息
  • wap网站定位2022最新版百度
  • 网站怎么做才吸引人营销案例分析报告模板
  • 香港高防服务器上海企业优化
  • 试述网站建设的流程.长春模板建站代理
  • 网站做授权登录网络营销专业的就业方向
  • 工信部备案网站打不开什么叫软文
  • 成绩分析智能网站怎么做沈阳seo关键词
  • 廊坊做网站哪家好指数型基金
  • 北京住房建设部网站百度指数可以用来干什么