MySQL加密和解密实例详解

MySQL加密和解密实例详解

数据加密、解密在安全领域非常重要。对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大。
有多种前端加密算法可用于数据加密、解密,下面我向您推荐一种简单的数据库级别的数据加密、解密解决方案。以MySQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )和解密函数(AES_DECRYPT())。

在建表的时候,要注意字段的类型.如下图所示:

在表中插入加密数据

上面的插入语句有三个字段,“用户名”、“密码”和“加密的密码”。AES_ENCRYPT()函数需要一个“key”来协助加密,同样,解密也需要它(请牢记!)。

下面是表中的数据截图:

上面的插入语句有三个字段,“用户名”、“密码”和“加密的密码”。AES_ENCRYPT()函数需要一个“key”来协助加密,同样,解密也需要它(请牢记!)。

下面是表中的数据截图:

从表中查询加密数据

上面的查询语句使用了AES_DECRYPT()函数。下面是运行结果:

在上面的截图中,我们可以看到“pasword”和“decryptedpassword”字段的值是相同的,也就是说,你解密了用户密码.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2017-06-11

MySQL 加密/压缩函数

这些问题可能导致数据值的改变.一般而言,上述问题可能在你使用非二进制串数据类型(如char,varchar,text等数据类型)的情况下发生. AES_ENCRYPT()和AES_DECRYPT() AES_ENCRYPT()和AES_DECRYPT()可以加密/解密使用官方AES算法的数据.该算法使用128位密钥来编码,但用户可以将其扩展到256位.MySQL选用128位密钥,因为这样算法实现更快,而且对大多数用户而言它也足够安全了. AES_ENCRYPT(str,key_str)函数加密一

MySQL利用AES_ENCRYPT()与AES_DECRYPT()加解密的正确方法示例

前言 最近在工作中遇到一个需求是这样的:需要在使用AES_ENCRYPT()函数将明文加密,存储在MySQL中,但是遇到了一些问题--下面就来详细介绍下. 说将加密后的密文,解密取出来是NULL. 看了一下,她发过来的表结构: 再看了她通过AES_DECRYPT()函数加密了一个字符串,然后insert进去了,执行成功后,显示了一个warning: Query OK, 1 row affected, 1 warning (0.00 sec) (没有报错而是warning,大概是sql_mode的

mysql双向加密解密方式用法详解

如果你使用的正是mysql数据库,那么你把密码或者其他敏感重要信息保存在应用程序里的机会就很大.保护这些数据免受黑客或者窥探者的获取是一个令人关注的重要问题,因为您既不能让未经授权的人员使用或者破坏应用程序,同时还要保证您的竞争优势.幸运的是,MySQL带有很多设计用来提供这 种类型安全的加密函数.本文概述了其中的一些函数,并说明了如何使用它们,以及它们能够提供的不同级别的安全. 双向加密 就让我们从最简单的加密开始:双向加密.在这里,一段数据通过一个密钥被加密,只能够由知道这个密钥的人来解密.

MySQL两种临时表的用法详解

外部临时表 通过CREATE TEMPORARY TABLE 创建的临时表,这种临时表称为外部临时表.这种临时表只对当前用户可见,当前会话结束的时候,该临时表会自动关闭.这种临时表的命名与非临时表可以同名(同名后非临时表将对当前会话不可见,直到临时表被删除). 内部临时表 内部临时表是一种特殊轻量级的临时表,用来进行性能优化.这种临时表会被MySQL自动创建并用来存储某些操作的中间结果.这些操作可能包括在优化阶段或者执行阶段.这种内部表对用户来说是不可见的,但是通过EXPLAIN或者SHOW S

C# 数据库链接字符串加密解密工具代码详解

有些项目尤其是WinForm或者是WPF项目,针对一些工具形式的小项目,不想软件流出去之后,懂程序的的拿到手之后一看配置文件就知道了我们数据库的用户名和密码,如果外网能访问的话,那就麻烦大了.所以这里为了防止项目外泄之后这些信息不被别人看到,我们就需要对链接字符串或者其他重要信息进行加密,用的时候在解密. 思路:使用两个数对连接字符串进行加密,再用这两个数进行解密. <add key="ConfigString" value="4HsXBRNXTkeN0ZoKdEwFE

python实现DES加密解密方法实例详解

本文实例讲述了python实现DES加密解密方法.分享给大家供大家参考.具体分析如下: 实现功能:加密中文等字符串 密钥与明文可以不等长 这里只贴代码,加密过程可以自己百度,此处python代码没有优化 1. desstruct.py DES加密中要使用的结构体 ip= (58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32,

VC对自定义资源加密解密(AES)的详解

加密解密exe算法可能AES加密解密算法别人已经实现过,也有一些关于如何操纵自定义资源的VC代码,我只是将它们进行了组合,运用到了一起,并运用了一些操纵内存的小技巧,今天将以前做的这个功能总结了一下--在网上搜了一下,好像很少有相关的这种用法,算是原创吧,有兴趣的朋友可以看一下,以下是源码和EXE文件下载地址:点击下载来两张截图: 图1-1 输出资自定义资源的内容,我的自定义资源是"TEXT" 图1-2 这是加密后再输出的结果

MySQL中BETWEEN子句的用法详解

可以使用IN子句来代替相结合的"大于等于和小于等于"的条件. 要了解BETWEEN 子句考虑的EMPLOYEE_TBL表有以下记录: mysql> SELECT * FROM employee_tbl; +------+------+------------+--------------------+ | id | name | work_date | daily_typing_pages | +------+------+------------+---------------

NodeJS加密解密及node-rsa加密解密用法详解

要用nodejs开发接口,实现远程调用,如果裸奔太危险了,就在网上找了一下nodejs的加密,感觉node-rsa挺不错的,下面来总结一下简单的rsa加密解密用法 初始化环境 新建一个文件夹 node-rsa-demo , 终端进入,运行下面命令初始化 cd node-rsa-demo npm init # 一路回车即可 npm install --save node-rsa 生成公钥私钥 在 node-rsa-demo 下新建一个文件 index.js 写上如下代码 var NodeRSA =

Java使用AES加密和解密的实例详解

Java使用AES加密和解密的实例详解 前言: AES的基本要求是,采用对称分组密码体制,密钥长度的最少支持为128.192.256,分组长度128位,算法应易于各种硬件和软件实现.1998年NIST开始AES第一轮分析.测试和征集,共产生了15个候选算法.1999年3月完成了第二轮AES2的分析.测试.2000年10月2日美国政府正式宣布选中比利时密码学家Joan Daemen 和 Vincent Rijmen 提出的一种密码算法RIJNDAEL 作为 AES. 在应用方面,尽管DES在安全上

Base64加解密的实现方式实例详解

Base64加解密的实现方式实例详解 本实现方式基于JDK 1.8 实现: import java.util.Base64; import java.util.Base64.Decoder; import java.util.Base64.Encoder; public class Main { static String src = "hello,sahadev"; public static void main(String[] args) { // 获取加密对象 Encoder

Mysql导入导出工具Mysqldump和Source命令用法详解

在PHP网站开发中,时常遇到Mysql数据库备份或数据库迁移工作,这时Mysql怎么导入导出数据库中的数据就非常关键,Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式(txt)的SQL文件,通过Mysql Source命令能够将SQL文件导入Mysql数据库中,下面通过Mysql导入导出SQL实例详解Mysqldump和Source命令的用法. M