MySQL中使用MD5加密的实现

目录
  • 什么是MD5?
  • MD5初体验
  • MySQL中其他方式

什么是MD5?

MD5信息摘要算法(英语:MD5 Message-Digest Agorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald LinnRivest))设计,于1992年公开,用以取代MD4算法。这套算法的程序在RFC1321标准中被加以规范。1996年后该算法被证实存在弱点,可以被加以破解,对于需要高度安全性的数据,专家一般建议改用其他算法,如SHA-2。2004年,证实MD5算法无法防止碰撞(collision),因此不适用于安全性认证,如SSL公开密钥认证或是数字签名等用途。【以上概念引自百度百科】

MD5初体验

在mysql中准备一个简单的用户表用于案例操作。

接下来测试各种sql语句:

普通插入语句(密码明文):

-- 普通新增语句(明文密码)
insert into user(uname,upass) values ('tom','1001');

在插入信息时加密**:**

-- 插入时使用MD5 算法加密
insert into user(uname,upass) values ('jack',MD5('1002'));

查询查看结果:

修改: 使用MD5算法将账号admin的密码修改。

-- 将原密码换为MD5加密后的密码
update user set upass=MD5(upass) where id =1;
-- 将原密码123456修改为 MD5加密后的密码(666)
update user set upass=MD5('666') where id =2;

结果:

加密全部密码:

-- 加密全部密码
update user set upass=MD5(upass)

条件查询,进行验证:

-- 根据账号密码 查询对应账号信息
select * from user where uname='admin' and upass=MD5('123')

-- 测试 将密码修改为666 的账号信息
select * from user where uname='root' and upass=MD5('666')

以上是通过MD5算法在mysql数据库中对一些信息的简单加密,具体知识有待整理。

MySQL中其他方式

(1) PASSWORD()函数:

-- password() 函数加密
update userinfo set password =password('333') where id=6
-- 查询验证
select * from userinfo where password=password('333')

password(str)从原明文密码str计算并返回加密后的密码字符串,当参数为null时,返回null。password加密是单向的,不可逆。

(2) ENCODE()函数

ENCODE(str,pass_str)函数用于对纯文本字符串进行编码,在编码后返回二进制字符串.

使用pswd_str作为密码,加密str.

str:它用于指定要编码的纯文本

pass_str:用于指定密码字符串以对纯文本字符串进行编码.

-- 字符串
select encode('hello','nice')

-- 字符串和数字
select encode('nihao666','nice')

(3) DECODE(crypt_str,pass_str)

使用pswd_str作为密码,解密加密字符串crypt_str,crypt_str是由encode()返回的字符串。

select DECODE('nihao666','nice')

-- 使用decode函数解密encode加密的字符串
select DECODE(ENCODE('nihao666','nice'),'nice');

到此这篇关于MySQL中使用MD5加密的实现的文章就介绍到这了,更多相关MySQL MD5加密内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享

    MD5,全称为 Message Digest Algorithm 5(消息摘要算法第五版).详情请参考 维基百科:MD5 MD5加密后是一个字节数组, 但我们一般是取其十六进制的字符串表示法,当然,十六进制数字符串是区分大小写,在 mysql数据库,Java,和JavaScript语言中,一般是使用小写的字符串来表示, 而在 Oracle数据库官方提供的包中,返回的是大写字符串,这算是一个坑,如果你想要执行多次 md5,可能需要转换为小写. 相关的代码如下: 1. Java版MD5 MD5Uti

  • mysql与mssql的md5加密语句

    1. mysql的md5 mysql存在系统函数md5("xxxxx"); 2. mssql的md5 mssql不存在系统函数,RIGHT(sys.fn_VarBinToHexStr(hashbytes('MD5', CAST("xxxxx"))), 32);

  • SpringBoot实现Mysql使用MD5进行密码加密的示例

    项目开发中为了保护用户隐私安全,一般都会用MD5进行密码加密 以下就简单举例SpringBoot 实现Mysql使用MD5进行密码加密做一个简单的例子 看下数据库,这边简单做了用户表进行测试 pom.xml添加依赖引用 <!--MD5加密 对注册的密码进行加密操作--> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId>

  • MySQL中使用MD5加密的实现

    目录 什么是MD5? MD5初体验 MySQL中其他方式 什么是MD5? MD5信息摘要算法(英语:MD5 Message-Digest Agorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致.MD5由美国密码学家罗纳德·李维斯特(Ronald LinnRivest))设计,于1992年公开,用以取代MD4算法.这套算法的程序在RFC1321标准中被加以规范.1996年后该算法被证实存在弱点,可以被加以破解,

  • Winform中进行MD5加密的实例

    Winform,c#进行MD5加密直接上步骤: 1. 添加引用 2. 在.NET选项卡中找到"System.Web" 3. 选中之后,点击"确定"即可,此时会在解决方案中看到刚才添加的引用 4. 引用名空间:using System.Web.Security; Click事件中的代码如下: 还有一种方法: 引用 using System.Security.Cryptography; using System.Text; 具体代码如下(写在按钮的Click事件里):

  • 在vue项目中使用md5加密的方法

    npm安装: npm install --save js-md5 1.在需要使用的项目文件中引入: import md5 from 'js-md5'; 使用: md5('hello world')  // 5eb63bbbe01eeed093cb22bb8f5acdc3 2.或者在main.js文件中将md5转换成vue原型: import md5 from 'js-md5'; Vue.prototype.$md5 = md5; 使用: this.$md5('hello world') // 5

  • python3中的md5加密实例

    在python3的标准库中,已经移除了md5,而关于hash加密算法都放在hashlib这个标准库中,如SHA1.SHA224.SHA256.SHA384.SHA512和MD5算法等. 另:在网上找关于python的md5加密,发现要不是比较旧的不适用当前py版本的文章,或者是说得不够清楚的文章,所以还是自己去看下官方文档比较好,顺便整理下关于md5的使用方法. 对于学习任何一门程序类知识,我都认为去看官方文档这种学习方式最有效的之一,只不过一般这些文档都是英文版的,对于一些学习者来说可能会有一

  • 如何在vuejs项目中使用md5加密密码的实现

    目录 1.NPM 安装: 2.全局用法 3.局部用法 概念 MD5加密有什么用?为什么要使用MD5加密? MD5算法的用途是什么? 具体使用步骤: 1.NPM 安装: npm install --save js-md5 2.全局用法 2.1.全局引用 import md5 from 'js-md5'; Vue.prototype.$md5 = md5; 2.2.全局使用 将您需要加密的信息放进去: this.$md5('This is encrypted content') // 6f43dd5

  • 简单讲解iOS应用开发中的MD5加密的相关使用

    一.简单说明 1.说明 在开发应用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题. 如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据 "青花瓷"软件 因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交 2.常见的加密算法 MD5 \ SHA \ DES \ 3DES \ RC2和RC4 \ RSA \ IDEA \ DSA \ AES 3.加密算法的选择 一般公司都会有一套自己的加密方案,按照公司

  • iOS中使用MD5加密字符串

    1,新建NSString的分类,记得添加加密所需的头文件#import <CommonCrypto/CommonDigest.h> , NSString+MD5.h: #import <Foundation/Foundation.h> #import <CommonCrypto/CommonDigest.h> @interface NSString (MD5) + (NSString *)md5To32bit:(NSString *)str; @end 2,编写加密方法

  • JAVA中使用MD5加密实现密码加密

    1.新建Md5.java package com.loger.md5; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder; public class Md5 { /**利用MD5进行加密*/ public String Encoder

  • Oracle中的MD5加密详解

    一.技术点 1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFUSCATION_TOOLKIT.MD5(input_string =>'abc') a from Dual时,却有错误提示,看来该函数只能直接在程序包中调用,不能直接应用于SELECT语句. 2.Utl_Raw.Cast_To_Raw DBMS_OBFUSCATION_TOOLKIT.MD5返回的字

  • vb 中的MD5加密在asp.net中的实现

    1.web项目中方法: 复制代码 代码如下: System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("aaaa","MD5") System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile("aaaa","MD5") 查看文档方法: 复制代码 代

随机推荐