MD5加密以及产生唯一的ID
1:MD5即Message-Digest Algorithm 5(信息摘要算法5),是计算机广泛使用的散列算法之一(又译摘要算法、哈希算法)。经MD2、MD3和MD4发展而来,诞生于20世纪90年代初。用于确保信息传输完整一致。
MD5加密算法由于其具有较好的安全性,加之商业也可以免费使用该算法,因此该加密算法被广泛使用。MD5算法主要运用在数字签名、文件完整性验证以及口令加密等方面。
对信息系统或者网站系统来说,MD5算法主要用在用户注册口令的加密,对于普通强度的口令加密,可以通过以下三种方式进行破解:
(1)在线查询密码。一些在线的MD5值查询网站提供MD5密码值的查询,输入MD5密码值后,如果在数据库中存在,那么可以很快获取其密码值。
(2)使用MD5破解工具。网络上有许多针对MD5破解的专用软件,通过设置字典来进行破解。
(3)通过社会工程学来获取或者重新设置用户的口令。 因此简单的MD5加密是没有办法达到绝对的安全的,因为普通的MD5加密有多种暴力破解方式,因此如果想要保证信息系统或者网站的安全,需要对MD5进行改造,增强其安全性。但对于公司以及普通用户来说,从算法上来破解MD5非常困难,因此MD5仍然算是一种安全的算法。
2:产生全世界唯一的id
3:实现代码如下:
package com.zyw.md5;import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder;//不过这些包是不建议使用的。。 需要使用自己的jdk public class Md5 {public static String md5(String messages){try {MessageDigest md=MessageDigest.getInstance("md5");byte[] md5= md.digest();//转化为明文BASE64Encoder encoder=new BASE64Encoder();return encoder.encode(md5);} catch (NoSuchAlgorithmException e) {// TODO Auto-generated catch block e.printStackTrace();}return null;} }
package com.zyw.md5;import java.util.UUID;public class Snippet {//产生全世界唯一的idpublic static String generateID(){ return UUID.randomUUID().toString();} }
转载于:https://www.cnblogs.com/zyw-205520/archive/2012/09/21/2696934.html
MD5加密以及产生唯一的ID相关推荐
- python学习之路—自动生成唯一标识(md5加密方式)
前言 在python存入数据库时,如果数据库的主键不是自增方式,那么我们可能需要自己生成一个唯一标识符,现在最好的方法就是md5加密生成的32位作为主键,本文将会介绍python的两种自动生成唯一标识 ...
- MySQL数据库id主键或密码使用MD5加密
MD5原理: MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值,每 ...
- Go语言MD5加密用法实例
Go语言MD5加密用法实例 本文实例讲述了Go语言MD5加密用法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import ( "crypto/md5" ...
- 《MySQL》入门基础知识点大全:数据库操作、增删改查、联表查询、常用函数、MD5加密、事务特性、隔离级别
MySQL基础知识大全 1.操作数据库 1.1 创建表 1.2 修改表名 1.3 增加表的字段 1.4 修改表的字段 1.4.1 修改表的字段 1.4.2 修改表名 1.5 删除表的字段 1.6 删除 ...
- MD5加密工具类(实战版)
MD5加密工具类(实战版) 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成 ...
- 怎样生成唯一的ID?
打开我的简书首页,在地址栏上可以看到这样的地址 http://www.jianshu.com/users/066ab87a062b/latest_articles 作为一个web开发者应该知道这里的u ...
- 如何使用jmeter测试app端口的md5加密接口
一. 基本介绍 jmeter是一款优秀的开源性能测试工具,目前最新版本4.0版本(jmeter4.0下载地址).jmeter可用于测试接口.数据库测试.本文主要介绍jmeter在接口方面的压力测试. ...
- MysqlSQL语句2☞联表查询、自连接、分页和排序、子查询、常用函数、聚合函数、MD5加密
联表查询 where等值查询 on 连接查询 1.内连接 SELECT `grade`,s.id,`name` FROM student [AS] s INNER JOIN result [AS] r ...
- 牛腩44 整合登陆页 RequiredFieldValidator 和 ValidationSummary 以及 asp.net 自带的MD5 加密...
在我们后台登陆的时候,有 用户名,密码和验证码3个必选项,所以我们托3个验证控件过来 例如这里,如果没有填写用户名,当点提交的时候,显示 红色的 * 号,并且弹出一个 alert 效果如下 ...
最新文章
- C Primer Plus_第8章_字符输入输出和输入确认_编程练习
- C++基本序列式容器效率比较
- Python入门--基本输入输出
- kafka管理神器-kafkamanager
- 文件字符串变量插入linux,Linux Shell脚本实现在文件指定的行插入字符串
- enter sleep mode黑屏怎么解决_【linux】 不要再暴力关机了,讲讲我最近遇到的问题和完美解决方案...
- 8.1 类的一般形式
- Camera 初始化(Preview) 二(HAL3的流程)
- 腾讯云cdn设置 php,腾讯云CDN缓存过期配置问题详解
- DbUtils框架(这是一个耗时耗力的差事)
- uni-app 杂记
- 10 Java基础笔记-封装
- java模拟器修改游戏分辨率_海马玩模拟器修改分辨率DPI和隐藏虚拟按键的方法...
- OOM ResourceExhaustedError
- Win10删除微软拼音输入法的方法
- 【计算机图形学基础】学习笔记 02 图形系统
- 2023秋招--腾讯天美--游戏客户端--三面面经
- Android 11来了,快!扶我起来
- PostgreSQL trigger
- Linux内核学习(三):Bootloader的特种兵-Uboot(一)
热门文章
- java中ant是干什么的_java_ant详解
- android字节数转兆,ios – Swift – 如何计算字节数并将其转换为兆字节?
- 技术篇-符号制作-标记符号制作
- Cocos2d-x 多分辨率适配完全解析
- transferwise怎么提现_收款工具transfer wise介绍(多币种、可收CJ联盟)
- springboot 全局异常处理类
- mysql 参数 列 排序_将参数放入MySQL IN()后,按降序对列进行排序?
- JSP中application的用法
- java jsp验证码_JSP实现随机验证码
- linux命令跨进程拷贝文件,linux scp命令安全远程文件复制程序