前段时间,网传京东泄露了几G的用户数据,后面又说用户数据是MD5加密的,让大家不要担心,改个密码之类云云。

出于好奇,上网了解了一下这个MD5。

一、MD5加密方式是什么

简单讲,MD5加密是一个用到哈希函数的复杂的不可逆的加密算法,只是作为了解的话,我们可以把它理解成是一个黑盒,我们输入不限位数的二进制信息,经过MD5加密,它会返回一个有限位数 32位的十六进制密文。

二、MD5的安全性如何

刚刚说MD5是不可逆的,这意味着你不能根据密文通过逆运算去推出明文。至于为什么是不可逆的,就像知乎上一个深入浅出的回答说的,比如加法算法,你可以根据输入,4+4=8,却不能根据8,去推出它是4+4,因为可能是1+2+5,也可能是其他的无数可能性。  因为MD5的不可逆,导致它的解密方式只能用对撞。 如之前所说,MD5输出的是一个32位的十六进制密文,就是输出的可能性有16的32次方(记为N,反正N很大很大就是了)。简单讲,碰运气的话,每次去算都是1/N的概率,我们知道当N趋于无穷大的时候,这个1/N就趋于0了。也就是说,用遍历的话,估计算个几年也不见得算得出来。

当然,时代是在不断进步的,一个加密算法被推行使用的同时,也会有很多的专家和黑客在努力去破解它,信息安全就是在这样的一个攻防的过程中不断发展的。

三、常见的所谓的MD5破解方式

MD5的目前主要是应用在验证方面。

还有一些常见的所谓的MD5破解方式,大概就是先准备一张表,将密码明文和对应的MD5密文存着,完了在拿密文去对,取得相应的密码明文。理论上来说,这个表至少得有N条,包括所有的密文,才能涵盖所有密码明文,这在技术上是很难实现的,基本上不可能。所以只能破解一些常见的简单的密码。

另外,在SQLSERVER中有内置加密函数,可以实现对数据的MD5加密。

))), , )) 

【信息安全】MD5加密浅析的更多相关文章

  1. 常见https,SSH协议和MD5加密方式分析

    前言 https,SSH协议和MD5加密是前端可能会接触到的加密,所以我就将他们进行了一个归纳. 1.https 1.1原理 A.就是在http加入SSL层,是http安全的基础;B.htts协议是在 ...

  2. 关于CryptoJS中md5加密以及aes加密的随笔

    最近项目中用到了各种加密,其中就包括从没有接触过得aes加密,因此从网上各种查,官方的一种说法: 高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学 ...

  3. Android数据加密之MD5加密

    前言: 项目中无论是密码的存储或者说判断文件是否是同一文件,都会用到MD5算法,今天来总结一下MD5加密算法. 什么是MD5加密? MD5英文全称“Message-Digest Algorithm 5 ...

  4. android MD5加密

    public class MD5Uutils {    //MD5加密,32位    public static String MD5(String str) {        MessageDige ...

  5. IOS 杂笔-9 (MD5 加密)

    首先是一段对MD5的简介 *出自一位大牛之手* Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护 ...

  6. JS中使用MD5加密

    下载 MD5 使用MD5加密的方法:下载md5.js文件,在网页中引用该文件: < script type="text/javascript" src="md5.j ...

  7. MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能

    MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能 : package com.yzu.utils; import java.io.File; import java.io.Fi ...

  8. MD5 加密

    字符串加密 // 1. 准备好一个字符串 NSString *string = @"asdasfaf"; // 2. MD5加密是基于C语言的. 所以要把这个字符串转化成C的字符串 ...

  9. MD5加密的Java实现

    在各种应用系统中,如果需要设置账户,那么就会涉及到储存用户账户信息的问题,为了保证所储存账户信息的安全,通常会采用MD5加密的方式来,进行储存.首先,简单得介绍一下,什么是MD5加密. MD5的全称是 ...

随机推荐

  1. 【RabbitMQ】1、安装

    1.  下载 下载地址:http://www.rabbitmq.com/download.html 2.  windows下安装 2.1. 安装Erlang 下载:http://www.erlang. ...

  2. BZOJ3697:采药人的路径(点分治)

    Description 采药人的药田是一个树状结构,每条路径上都种植着同种药材. 采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性的,一种是阳性的. 采药人每天都要进行采药 ...

  3. P2986 [USACO10MAR]伟大的奶牛聚集Great Cow Gat…

    题目描述 Bessie is planning the annual Great Cow Gathering for cows all across the country and, of cours ...

  4. Microsoft visual c++ 14.0 is required问题

    错误信息: error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Too ...

  5. 电脑需要重启才能连上WLAN

    我的笔记本电脑是Windows10 系统,在某次更新后发现这个问题,查资料过程中忽然断网,非要重启才能解决,非常恼人.经过一番研究,发现一个行之有效的解决方法. 1.打开设备管理器. 2.点击网络适配 ...

  6. lwip IP address handling 关于 IP 地址的 操作 API接口

    lwip 2.0.3  IP address handling /** * @file * IP address API (common IPv4 and IPv6) */ 1.u32_t ipadd ...

  7. EF Core 2.1 Raw SQL Queries (转自MSDN)

    Entity Framework Core allows you to drop down to raw SQL queries when working with a relational data ...

  8. EF中的Guid主键

    除了自增长ID(int),我们还能把主键设置为GUID类型的. 创建我们的数据表 CREATE TABLE dbo.JoinA( AGUID UNIQUEIDENTIFIER PRIMARY KEY ...

  9. 3.5mm手机插孔自制万能遥控器

    电视机 空调等遥控器用5MM LED发射二极管 940nm红外发射管 50只 拍一份就是100只 包邮 电压:1.1-1.4v 电流:20mA 发射角度:45°

  10. Angular7教程-02-Angular项目目录及基本文件说明

    本教程基于Angular7,更新时间2018-11-05. 1. 项目根目录如下: e2e文件夹:end to end,测试目录,主要用于集成测试. node_modules:项目的模块依赖目录. s ...