md5加密算法

article/2025/9/23 19:04:44

md5是什么?

md5是一种信息摘要算法(message-digest algorithm 5 ),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用来确保信息传输完整一致性。

特点

  • 不可逆

                知道密文和加密方式,无法反向计算出原密码

                但是有md5破解网站,专门查询MD5码

撞库:原理是:通过建立大型的数据库,把日常的各种句子通过md5加密成为密文,不断积累更新大量句子,放在庞大的数据库里;然后,有人拿了别人的密文,想查询真实的密码,就需要把密文拿到这个数据库的网站(免费MD5加密解密:https://md5.cn/)去查询。

  • 长度固定

        任意长度的数据,算出来的md5值长度都是固定的

  • 强抗碰撞

        想找到两个不同的数据,使它们具有相同的MD5值,是非常困难的。

  • 容易计算

        原理通俗易懂

  • 细微性(高度离散性)

       对原数据进行任何改动,都会有很大的变化

               

md5的用途

1.防止看到明文 

        因为密码存储到数据库后已经被加密了,即使不法分子拿到数据库中存储的用户密码的值,也无法知道正确的密码。

2.防止抵赖(数字签名)

        将文件加密,传输一个MD5值,如果被修改文件中的内容,对文件重新计算发现md5值不一致,证明中途被篡改。

3.文件上传

4.文件完整性验证

http://t.csdn.cn/Jq1SD

md5加盐

密码+salt值(salt值可以是随机字符串) 再加密

如:密码为123 特定字符串abc        用“12345abc”这个字符串加密

原理

获取md5对象,将目标字符串转换成字节数组,byte[] md5Bytes = md5.digest(byteArray);将字节数组加密,若字节数组长度小于16,转换成字符串StringBuffer,使用append做补0操作。

1.获取信息摘要对象:md5

通过信息摘要单例的构造函数获取:

MessageDigest md5 = MessageDigest.getInstance("MD5");

2.信息摘要对象是对字节数组进行摘要的,所以先获取字符串的字节数组.

byte[] bytes = str.getBytes();

3.信息摘要对象(md5)对字节数组进行摘要,得到摘要字节数组:

byte[] digest = md5.digest(bytes);

4.把摘要数组中的每一个字节转换成16进制,并拼在一起就得到了MD5值. 


原文链接:http://t.csdn.cn/MP7LA

实现

package com.org.code;import java.security.MessageDigest;public class EncodeMD5 {public static String string2MD5(String str){MessageDigest md5 = null;try{md5 = MessageDigest.getInstance("MD5");//获取加密算法对象}catch (Exception e){System.out.println(e.toString());e.printStackTrace();return "";}//将目标字符串转换成字节数组char[] charArray = str.toCharArray();byte[] byteArray = new byte[charArray.length];for (int i = 0; i < charArray.length; i++)byteArray[i] = (byte) charArray[i];//将字节数组加密byte[] md5Bytes = md5.digest(byteArray);//对字节数组进行摘要//用keystr.append  字符串定义时需要用可变的字符串StringBufferStringBuffer haxValue = new StringBuffer();for (int i = 0; i < md5Bytes.length; i++){//0xff是16进制数,这个刚好8位都是1的二进制数,而且转成int类型的时候,高位会补0int val = ((int) md5Bytes[i]) & 0xff;//转换成16进制
//在&正数byte值的话,对数值不会有改变 在&负数数byte值的话,对数值前面补位的1会变成0,if (val < 16){haxValue.append("0");//位数不够,高位补0haxValue.append(Integer.toHexString(val));}return haxValue.toString();}public static void main(String[] args) {String s = "humane_";System.out.println("原始:" + s);System.out.println("MD5后:" + string2MD5(s));}
}

应用

用户注册——密码加密存储

//调用EncodeMD5中的方法
String password2 =EncodeMD5.string2MD5(password);
//直接存储加密后的字符串
user.setPassword(password2);

用户登录——通过加密规则转换成密文后在跟数据库中存在的密码比对。

//将表单得到的密码加密
String password = request.getParameter("password");
String password2=EncodeMD5.string2MD5(password);
//拿到数据库中存储的密码与现输入的密码比对
User user =UserDAOFactory.getUserDAO().findUser(username);
if(user.getPassword().equals(password2)){//相等就跳转到首页response.sendRedirect("index.jsp");
}

 来源于:

百度安全验证

http://t.csdn.cn/To3q8

http://t.csdn.cn/v6Cnm

http://t.csdn.cn/MP7LA


http://chatgpt.dhexx.cn/article/0w8rTvaO.shtml

相关文章

bat表白脚本(变色桃心+vbs问答)

今天520,女朋友在抖音上看人家一个html代码就可以实现非常炫酷的表白效果,真是外行看热闹,内行看笑话!!! 殊不知html代码是引用的本地.js等各种文件才能完成,对于非前端开发人员来说想写成很难。 本人分享两个非常简单的表白编辑代码(bat+vbs) 一、bat 效果(变色桃…

表白代码

vbs脚本表白代码 代码一、做我女朋友非同意不可 msgbox ("我有一件事想跟你说"),vbQuestion,("在吗&#xff1f;") msgbox ("自从第一天遇见你&#xff0c;我便对你难以忘怀了&#xff01;") msgbox ("做我女朋友好吗&#xff1f;")…

抖音java表白教程_抖音vbs表白代码制作方法分享

抖音vbs表白代码在整个制作教程需要对代码的写入有一定的认知&#xff0c;对于具体的教程内容&#xff0c;下面一起来看看相关的介绍吧。 抖音vbs表白代码制作教程 步骤一&#xff1a; 在电脑上新建一个txt文件。 步骤二&#xff1a; 打开txt文件&#xff0c;复制以下代码粘贴进…

抖音记事本代码html,抖音记事本vbs弹窗表白代码怎么弄的?附教程

抖音记事本vbs弹窗表白代码怎么弄的&#xff1f;附教程 2018-06-20 10:14:07 来源&#xff1a;cr173.com 扫码可以&#xff1a; 1.在手机上浏览 2.分享给微信好友或朋友圈 摘要&#xff1a; 抖音上有很多新奇的玩法&#xff0c;比如最近就很火的就是利用弹窗表白噢! 抖音上有很…

html表白树代码程序怎么调,抖音表白弹窗vbs代码怎么制作 表白树特效程序代码教程详细介绍...

最近抖音上面很火的一个vbs的表白代码玩法很流行&#xff0c;这算是技术宅专用表白方式了&#xff0c;想要跟自己喜欢的人表白的小伙伴们快来看看了。下面小编给大家分享一下抖音表白弹窗代码。 两个代码例子分享给各位&#xff1a; 1.msgbox(“做我女朋友好吗?\") msgbo…

java整人代码大全_整人代码vbs大全分享

整人代码vbs大全分享 vbs制作方法 1、在记事本中粘贴vbs代码; 2、另存为vbs文件,双击即可运行。 以下是分享的一些代码 重要提示:关机和死机的代码自己玩玩就可以了,发给别人实在有点缺德,万一别人有重要的东西没保存自己可能要负相应的后果。 一、做我女朋友吗,告白(抖音…

简单制作vbs 对话框表白

右击桌面新建一个文本文档输入&#xff1a;msgbox("做我女朋友好吗&#xff1f;") msgbox("房产证写你名字...") msgbox("保大") msgbox("我妈会游泳") Xmsgbox("做我女朋友好不好",VBOKCancel) if xVBOK then msgbox("…

抖音快手vbs表白代码大全(操作方法)

抖音快手vbs表白代码大全使用方法 前言步骤一&#xff1a;步骤二&#xff1a;步骤三、步骤四、注意事项 总结 前言 作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、…

VBS表白代码以及一些注意事项

第一步&#xff1a;新建一个文本文档 第二步&#xff1a;命名为&#xff1a;表白代码.txt 第三步&#xff1a;输入一下代码&#xff1a; msgbox("做我女朋友好吗&#xff1f;") msgbox("房子写你的名字") msgbox("保大") msgbox("我妈妈会…

【欢迎白嫖】新·vbs表白代码

新vbs表白代码 前言 之前有在B站上发布过一个表白代码的视频&#xff0c;但是貌似Bug多的让人心痛&#xff0c;所以&#xff0c;今天返璞归真&#xff0c;重新做了一个表白代码&#xff0c;欢迎各位批评指正&#xff01; 分析问题 对于上一版的代码&#xff0c;我总结出了以…

java整人的代码_「vbs代码」vbs表白代码+整人代码,抖音vbscript表白代码 - seo实验室...

vbs代码 步骤一&#xff1a; 在电脑上新建一个txt文件 步骤二&#xff1a;将以下代码复制过去(中文可以改) const title “爱情测试” const yourname “嫦娥” const question “你最喜欢的人是谁&#xff1f;请在下面的方框中输入他(她)的名字。” const info “你在说谎…

抖音txt表白html,抖音vbs表白代码的技巧分享

今天小编分享一篇关于抖音vbs表白代码的技巧&#xff0c;有兴趣的可以来了解了解看看哦。 抖音vbs表白代码的技巧分享 抖音vbs表白代码制作教程 步骤一&#xff1a; 在电脑上新建一个txt文件。 步骤二&#xff1a; 打开txt文件&#xff0c;复制以下代码粘贴进去(可以修改中文部…

html自动增加vbs代码,vbs烟花代码

比如关机代码.和一些常用代码 首先在电脑鼠标右键 新建一个文本文档。 然后点开文本文档进行编辑,最重要的一个代码就是msgbox,然后在后面添加想要说的话,但是要使用英文标点符号,换行时候都需要在前面加上代码,最后保存。 我不要整人什么的,我要的是类似翻译的,还有句型…

vbs无法拒绝的表白代码

Case 6 j1 Case 7 msgbox(“再给你一次机会”) end Select loop msgbox(“我就知道你会同意的&#xff0c;哈哈哈哈”) 电脑桌面上新建一个txt文本&#xff0c;代码复制进去后需要修改编码格式&#xff08;文件>另存为>编码改为ANSI&#xff09;&#xff0c;然后保存…

情人节——vbs的学习(句子、情话)

文章目录 一、藏匿情话二、vbs脚本表白代码代码1&#xff1a;做我女朋友非同意不可代码2&#xff1a;做我女朋友不同意就关机代码3&#xff1a;做我女朋友&#xff0c;即使不同意因为更爱你所以撤销关机代码4&#xff1a;爱情测试代码5&#xff1a;求对象原谅 三、web网页表白程…

VBScript之表白代码(有运行视频)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言这是一个基于VBScript的表白脚本&#xff0c;有需要请自取&#xff01; 一、VBS是什么&#xff1f;二、脚本演示三、源代码 前言 这是一个基于VBScript的表白脚…

表白神器(VBS编程)

步骤一、打开记事本&#xff0c;输入以下代码&#xff08;建议直接复制&#xff09;&#xff1a; msgbox "我有一件事想跟你说",vbQuestion,"在吗" msgbox"自从第一天遇见你&#xff0c;我便对你难以忘怀了&#xff01;" CreateObject("SA…

vbs表白代码

好玩的循环表白代码 1&#xff0c;右键->新建文本文件 2&#xff0c;右键->编辑 3&#xff0c;粘贴下面代码 MsgBox " 十年相遇" MsgBox " 百年回眸" MsgBox " 千年同船渡" MsgBox " 我愿以万…

表白代码.vbs

具体操作步骤如下&#xff1a; 1、先创建1个弹窗文档&#xff1a; ① 点击鼠标右键&#xff0c;新建一个文本文档 ② 复制粘贴这串代码 msgbox("想说的话") msgbox("想说的话") ③打开文档【另存为】界面&#xff0c;将文件名设置为【常用软件名称】&am…

情人节表白代码

&#xff08;这是21年写的了&#xff0c;当时只是收集了一些简单的表白代码&#xff0c;很多东西也并非原创&#xff0c;不过从访问量上来看&#xff0c;文章似乎还挺受欢迎的&#xff09; 经过一年的学习和摸爬滚打&#xff0c;我看到过更多优秀的表白创意&#xff0c;表白代码…