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:实现代码如下:

Md5

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;}
}

Snippet

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相关推荐

  1. python学习之路—自动生成唯一标识(md5加密方式)

    前言 在python存入数据库时,如果数据库的主键不是自增方式,那么我们可能需要自己生成一个唯一标识符,现在最好的方法就是md5加密生成的32位作为主键,本文将会介绍python的两种自动生成唯一标识 ...

  2. MySQL数据库id主键或密码使用MD5加密

    MD5原理: MD5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值,每 ...

  3. Go语言MD5加密用法实例

    Go语言MD5加密用法实例 本文实例讲述了Go语言MD5加密用法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import (     "crypto/md5" ...

  4. 《MySQL》入门基础知识点大全:数据库操作、增删改查、联表查询、常用函数、MD5加密、事务特性、隔离级别

    MySQL基础知识大全 1.操作数据库 1.1 创建表 1.2 修改表名 1.3 增加表的字段 1.4 修改表的字段 1.4.1 修改表的字段 1.4.2 修改表名 1.5 删除表的字段 1.6 删除 ...

  5. MD5加密工具类(实战版)

    MD5加密工具类(实战版) 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成 ...

  6. 怎样生成唯一的ID?

    打开我的简书首页,在地址栏上可以看到这样的地址 http://www.jianshu.com/users/066ab87a062b/latest_articles 作为一个web开发者应该知道这里的u ...

  7. 如何使用jmeter测试app端口的md5加密接口

    一. 基本介绍 jmeter是一款优秀的开源性能测试工具,目前最新版本4.0版本(jmeter4.0下载地址).jmeter可用于测试接口.数据库测试.本文主要介绍jmeter在接口方面的压力测试. ...

  8. MysqlSQL语句2☞联表查询、自连接、分页和排序、子查询、常用函数、聚合函数、MD5加密

    联表查询 where等值查询 on 连接查询 1.内连接 SELECT `grade`,s.id,`name` FROM student [AS] s INNER JOIN result [AS] r ...

  9. 牛腩44 整合登陆页 RequiredFieldValidator 和 ValidationSummary 以及 asp.net 自带的MD5 加密...

    在我们后台登陆的时候,有 用户名,密码和验证码3个必选项,所以我们托3个验证控件过来 例如这里,如果没有填写用户名,当点提交的时候,显示 红色的  * 号,并且弹出一个 alert 效果如下     ...

最新文章

  1. C Primer Plus_第8章_字符输入输出和输入确认_编程练习
  2. C++基本序列式容器效率比较
  3. Python入门--基本输入输出
  4. kafka管理神器-kafkamanager
  5. 文件字符串变量插入linux,Linux Shell脚本实现在文件指定的行插入字符串
  6. enter sleep mode黑屏怎么解决_【linux】 不要再暴力关机了,讲讲我最近遇到的问题和完美解决方案...
  7. 8.1 类的一般形式
  8. Camera 初始化(Preview) 二(HAL3的流程)
  9. 腾讯云cdn设置 php,腾讯云CDN缓存过期配置问题详解
  10. DbUtils框架(这是一个耗时耗力的差事)
  11. uni-app 杂记
  12. 10 Java基础笔记-封装
  13. java模拟器修改游戏分辨率_海马玩模拟器修改分辨率DPI和隐藏虚拟按键的方法...
  14. OOM ResourceExhaustedError
  15. Win10删除微软拼音输入法的方法
  16. 【计算机图形学基础】学习笔记 02 图形系统
  17. 2023秋招--腾讯天美--游戏客户端--三面面经
  18. Android 11来了,快!扶我起来
  19. PostgreSQL trigger
  20. Linux内核学习(三):Bootloader的特种兵-Uboot(一)

热门文章

  1. java中ant是干什么的_java_ant详解
  2. android字节数转兆,ios – Swift – 如何计算字节数并将其转换为兆字节?
  3. 技术篇-符号制作-标记符号制作
  4. Cocos2d-x 多分辨率适配完全解析
  5. transferwise怎么提现_收款工具transfer wise介绍(多币种、可收CJ联盟)
  6. springboot 全局异常处理类
  7. mysql 参数 列 排序_将参数放入MySQL IN()后,按降序对列进行排序?
  8. JSP中application的用法
  9. java jsp验证码_JSP实现随机验证码
  10. linux命令跨进程拷贝文件,linux scp命令安全远程文件复制程序