MySQL密码加密与解密

MySQL加密和解密实例详解

有多种前端加密算法可用于数据加密、解密,这是一种简单的数据库级别的数据加密、解密解决方案。

以MySQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )和解密函数(AES_DECRYPT())。

1.建表:建表时注意数据的类型

CREATE TABLE users( username VARCHAR(10), PASSWORD VARCHAR(10), testpswd VARBINARY(20) );

此表有三个字段,‘用户名‘ ,‘密码‘ ,‘加密的密码‘。

2.在表中插入数据

INSERT INTO users (username,PASSWORD,testpswd) VALUES (‘sxyu‘,‘1233210‘,AES_ENCRYPT(‘1233210‘,‘key‘)); 

插入一条记录,AES_ENCRYPT()函数需要一个“key”来协助加密,解密同时也需要它,需要牢记。

3.从表中查询加密数据(解密):

SELECT username,PASSWORD,AES_DECRYPT(testpswd,‘key‘) FROM users 

从查询结果可以发现,解密后的密码与原本的密码是相同的。

原文地址:https://www.cnblogs.com/sxyu/p/12670510.html

时间: 2024-11-17 17:16:04

MySQL密码加密与解密的相关文章

Java密码加密与解密

Java密码加密与解密 Java中对代码进行加密与解密,其中用MD5方式的是不可逆的.   import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import

Vigenère 密码加密及解密

定义:戳这里 加密: #include<bits/stdc++.h> using namespace std; char a[1200],b[1200],tmp,ans[1200]; int main() { printf(" Vigenère加密\n\n" ); printf("输入秘钥:");scanf("%s",b);puts(""); printf("输入明文:");scanf(&quo

C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

转 C#:使用MD5对用户密码加密与解密

C#中常涉及到对用户密码的加密于解密的算法,其中使用MD5加密是最常见的的实现方式.本文总结了通用的算法并结合了自己的一点小经验,分享给大家. 一.使用16位.32位.64位MD5方法对用户名加密 1)16位的MD5加密 /// <summary> /// 16位MD5加密 /// </summary> /// <param name="password"></param> /// <returns></returns&

信息安全之仿射密码加密和解密

本文利用仿射密码,对一个只含可打印字符的txt文件进行加密和解密. //加解密时,文件内容为所有可打印字符,即ASCII码从32-126的95个字符 #include<iostream> #include<fstream> using namespace std; //加密类 class Encrypt { public: void set_AB(int a, int b) {A = a; B = b;} //设置加密密钥 int gcd(int a, int b) { while

MySQL数据库加密与解密:

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

Mysql密码加密方式

以Mysql 4.1版本为分界线,两种加密方式 Mysql323加密:(16位) select  old_password('root'); //Mysql自带加密函数old_password(str) mysql> select old_password('root'); +----------------------+ | old_password('root') | +----------------------+ | 67457e226a1a15bd | +---------------

维吉尼亚密码加密、解密算法(破解还不会);

#include <iostream> #include<cstdio> using namespace std; void init_pass_table(char (&code_table)[27][27]){//制密码对照表;(不能当做一维数组来看会有别的问题) code_table[0][0]='0'; for(int i=0;i<26;i++){ code_table[0][1+i]='a'+i; } for(int i=0;i<26;i++){ co

关于加密和解密的方法

最近在做一个关于密码加密和解密的winform,要求对密码的TextBox输入的字符串进行加密,同时传值得时候也要解析出来,于是就写了一个demo,仅供参考. EncryptOrDecryptPassword类包含加密和解密两个简单的方法,这个方法是根据字符的Encoding来加密的,然后在main函数中调用. EncryptOrDecryptPassword类如下: 1 public class EncryptOrDecryptPassword 2 { 3 public string Decr