MySQL——数据库级别的MD5加密

  • MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。主要增强算法复杂度和不可逆性。
  • MD5 不可逆,但是具体的简单值的 md5 是一样的
  • MD5 破解网站的原理,背后有一个字典对照

测试MD5加密:

-- =========测试MD5 加密=======

CREATE TABLE `testmd5`(
   `id` INT(4) NOT NULL,
   `name` VARCHAR(20) NOT NULL,
   `pwd` VARCHAR(50) NOT NULL,
   PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8

-- 明文密码
INSERT INTO testmd5 VALUES(1,'zhangsan','123456'),(2,'lisi','123456'),(3,'wangwu','123456')

-- 加密
UPDATE testmd5 SET pwd=MD5(pwd) WHERE id = 1

UPDATE testmd5 SET pwd=MD5(pwd)  -- 加密全部的密码

-- 插入的时候加密
INSERT INTO testmd5 VALUES(4,'xiaoming',MD5('123456'))

-- 如何校验:将用户传递进来的密码,进行md5加密,然后比对加密后的值
SELECT * FROM testmd5 WHERE `name`='xiaoming' AND pwd=MD5('123456')

原文地址:https://www.cnblogs.com/godles/p/12207152.html

时间: 2024-11-07 03:58:48

MySQL——数据库级别的MD5加密的相关文章

linux数据库中使用MD5加密

MD5加密算法源码下载:https://pan.baidu.com/s/1nwyN0xV 下载完成了之后解压,得到两个文件 环境搭建: 1.把md5.h文件拷贝到/usr/include/目录下 sudo cp md5.h /usr/include 2.编译生成.o文件 gcc -fPIC -o md5.o -c md5.c -lpthread -ldl 3.编译生成.so文件 gcc -shared -fPIC -o libmd5.so md5.o -lpthread -ldl 4.把生成的.

Node.js实现对mysql数据库的crud时报加密方式错误解决方案

本人在学习全栈开发过程中做一个Node的web项目在连接本地MySQL8.0版本的数据库时,发现Navicat连接不上,它报了一个数据库的加密方式导致连接不上的错误,错误如下: MySQL8.0版本的加密方式和MySQL5.0的不一样,连接会报错. 解决方法如下: 打开mysql的命令行进入解压的mysql根目录下. 输入密码登录到mysql: 更改加密方式 ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIR

MYSQL --md5加密

需求如下 客户注册某一个app,填入电话号码,需要接收到验证码,然后进行注册. 客户操作 填入手机号码,点击获取验证码. app操作 传入三个参数给后台:手机号码.自己随机生成的验证码(多少位自己决定).验证内容(md5(手机号码&验证码)). 后台操作 1.接收三个参数 2.用 手机号码&验证码 生成一个checkStr.         //验证 发送码         String checkStr = message.getPhoneNumber() + "&&q

MD5 加密的密码在数据库重置

如果不小心更改掉了项目管理员帐号的密码而又忘了,存在数据库里的密码又是MD5加密后的,这时候怎么办呢? 1. oracle数据库,可以用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('预置密码'))来得到一个MD5加密后的密码: SQL如下: -----这里得到的md5值是大写的,如果数据库中存储的是小写,需要再用lower函数转换一下. update web_org_oper o set o.c_passwd = low

找回MD5加密的密码及MD5加密数据库中数据

有时,在开发过程中,如果不小心更改掉了项目管理员帐号的密码而又忘了,存在数据库里的密码又是MD5加密后的,这时候怎么办?最为菜鸟的我,刚开始也很迷茫,不过向前辈们请教了请教,自己也查了查资料,特意整理记录一下,并分享给大家. 前提是你知道这个密码存在在哪个表的哪个字段,只不过是加密了,如果是oracle数据库的话,可以用DBMS_OBFUSCATION_TOOLKIT.MD5 ( input => utl_raw.cast_to_raw('预置密码'))来得到一个MD5加密后的密码, 所以我们可

Python(九):递归+内置函数+第三方模块+md5加密+操作mysql

递归 定义:递归就是函数自己调用自己,最多可循环调用999次 内置函数 1.sorted()排序,生成的是列表 2.map()帮你循环调用函数的,保存返回值,返回的是一个list.map接受一个函数名和序列 3.filter:过滤器,帮你循环调用函数,如果函数返回false,那么就过滤掉这个值,是指从你传入这个list里面过滤 4.max()求最大值 5.sum()求和 6.round:保留几位小数 7.chr:把数字转成对应的ascii码表里对应的值 8.ord:把字母转成对应的ascii码表

m2014-architecture-webserver->百万记录级mysql数据库及Discuz!论坛优化

作者:shunz,出处:http://shunz.net/2008/06/mysql_discuz_.html 最近,帮一个朋友优化一个拥有20万主题,100万帖子,3万多会员,平均在线人数2000人的Discuz!论坛,采用Linux2.6+Apache2+mod_php5+MySQL5,服务器配置为双至强+4G内存,优化前,系统平均负载(load average)基本维持在10以上,MySQL的CPU占用率基本在90%以上,优化后,系统平均负载降到0.5以下,MySQL的CPU占用率很少有超

MySQL数据库加密与解密:

数据加密.解密在安全领域非常重要.对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大. 有多种前端加密算法可用于数据加密.解密,下面我向您推荐一种简单的数据库级别的数据加密.解密解决方案.以MySQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )和解密函数(AES_DECRYPT()). 在建表的时候,要注意字段的类型.如下图所示: 在表中插入加密数据 上面的插入语句有三个字段,“用户名”.“密码”和“加密的密码”.AES_ENCRYPT()函数需要一

在mysql数据库中制作千万级测试表

在mysql数据库中制作千万级测试表 前言: 最近准备深入的学一下mysql,包括各种引擎的特性.性能优化.分表分库等.为了方便测试性能.分表等工作,就需要先建立一张比较大的数据表.我这里准备先建一张千万记录用户表. 步骤: 1 创建数据表(MYISAM方式存储插入速度比innodb方式快很多)   数据表描述 数据量:1千万 字段类型: id :编号 uname:用户名 ucreatetime: 创建时间 age:年龄 CREATE TABLE usertb(    id serial,