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

网站像素大小神起网络游戏推广平台

网站像素大小,神起网络游戏推广平台,网站建设设计收费,字节跳动广告代理商加盟目录 前言 什么是MD5#xff1f;#xff1f; 加盐算法 那别的人会不会跟你得到相同的UUID#xff1f; 如何使用盐加密#xff1f; 代码实现 前言 对于我们常见的登录的时候需要用到的组件#xff0c;加密是一个必不可少的东西#xff0c;如果我们往数据库存放用户…目录 前言  什么是MD5 加盐算法 那别的人会不会跟你得到相同的UUID  如何使用盐加密 代码实现 前言  对于我们常见的登录的时候需要用到的组件加密是一个必不可少的东西如果我们往数据库存放用户的密码是直接以明文存储的话那么数据被窃取的时候损失也就是最大的因为别人可以很直观的看到你的用户数据不需要任何破解成本。         所以我们需要对其加密。         目前最常见的两种数据加密方法 MD5加密加盐算法 什么是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下载地址为 dependencygroupIdcommons-codec/groupIdartifactIdcommons-codec/artifactIdversion1.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((saltpassword).getBytes());// 然后和盐值进行拼接然后返回String finalPassword salt $ saltPassowrd;return finalPassword;} } 解密 解密的思路就是讲用户输入的密码重新进行一次加密然后比对从数据库中拿到的是不是一样的 public static boolean check(String inputPassword, String finalPassword){//首先判断这两个参数到底有没有值并且判断数据库中拿到的finalPassword的length是否为65if (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((saltinputPassword).getBytes());String ret salt $ saltPassword;if (ret.equals(finalPassword)) {return true;}return false;}
http://www.dnsts.com.cn/news/14738.html

相关文章:

  • 网站服务器租用选择网站内容的特点
  • 制作一个学校门户网站企业运营策划
  • 网站开发与移动互联wordpress集成插件下载
  • 手机网站制作的公司商城网站建设最新报价
  • 怎么做淘宝客的网站人们做网站怎么赚钱
  • 可以注销的网站门源县公司网站建设
  • 海外建站平台高端网站建设济南兴田德润简介电话
  • 网站建设好之后都有哪些推广方法洛阳洛龙区网站建设
  • 台州网站建设系统管网建设方案
  • 做购物网站的目的自己做家具网站
  • 广州网站建设公司网站项目网络计划图
  • 类似58同城网站建设多少钱wordpress文字样式
  • 我想注册网站怎么做国家对地理信息网站建设的重视
  • 安装网站到服务器外国广告公司网站
  • 网站安全检测百度外贸网站营销建站
  • 网站建设文字广西网站推广优化
  • 站点的几种推广方式外协加工网最新订单
  • 外贸soho东莞建站网站做收录什么方法快
  • 小企业网站建设平台蓬莱做网站公司
  • 东莞做棋牌网站建设企业网站建设市场的另一面
  • 广州网站定制开发公司哪家好海南钢结构网架公司
  • 建设部网站设计资质查询网站建设主体力量
  • wordpress建的手机网站深圳龙岗个人网站建设
  • 开网站做网站赚钱吗做商城网站怎么做
  • 外贸网站源码 php住房和城乡建设部网站 绿地
  • 用thinkcmf做的网站wordpress文章同步
  • 花卉网站建设策划网站备案名称必须是公司名
  • 虚拟主机代理商的网站打不开了怎么办注册公司登陆哪个网站
  • 怎样维护网站建网站域名注册后需要
  • 网站功能设计怎么写网站设计网站制作