`

mysql加密解密函数

阅读更多

mysql下的加密函数有如下几个

PASSWORD():创建一个经过加密的密码字符串,适合于插入到MySQL的安全系
统。该加密过程不可逆,和unix密码加密过程使用不同的算法。主要用于MySQL的认证系统。
 
ENCRYPT(,):使用UNIX crypt()系统加密字符串,ENCRYPT()函数接收要加密的字符串和(可选的)用于加密过程的salt(一个可以唯一确定口令的字符串,就像钥匙一样),注意,windows上不支持

ENCODE(,)   DECODE(,):加密解密字符串。该函数有两个参数:被加密或解密的字符串和作为加密或解密基础的密钥。Encode结果是一个二进制字符串,以BLOB类型存储。加密程度相对比较弱

MD5():计算字符串的MD5校验和(128位)

SHA5():计算字符串的SHA5校验和(160位)

以上两个函数返回的校验和是16进制的,适合与认证系统中使用的口令。


AES_ENCRYPT AES_DECRYPT示例

insert into users(test) values(AES_ENCRYPT('teststr','salt'));

select AES_DECRYPT(test,'salt') from users;

ps:需要Linux 且 AES_ENCRYPT 加密结果最好也以BLOB类型存储

加密 select   aes_encrypt(name, 'password ');
解密 select   aes_decrypt(aes_encrypt(name, 'password '), 'password '); 
 
########################
How to Use MySQL's AES_ENCRYPT and AES_DECRYPT to Store Passwords in a Database

Here's the scenario.  You are building a custom member login area to a website.  You need to store the user's name, email address and a password.  The name and email can be stored in 'plain text', but for added security, you want to store the password in an encrypted format (in case someone steals the database somehow, or just for your users' peace of mind).
This mini-tutorial assumes you already know how to connect to your database and work with php/mysql.  
The benefit of using AES_ENCRYPT and AES_DECRYPT is that you can both encrypt the password, then decrypt the password whenever necessary.  This is helpful if you ever want to display the password to the user in an email, or if you're encrypting other account information that you need to display. 
View the code here.
1:  The Key
For this to work, you must define a "key" to use when encrypting and decrypting the information from the database.  It would be best to store this key somewhere on your server outside of the main directory in which you're working.  This key can be whatever you want it to be, but you must also reference the same key during encrypting and decryption.
$key = 'ASKSDFNSDFKEISDJAHDLDSDF1235UUUiidfsdf';
2:  Encrypt the password
mysql_query("INSERT INTO users (user_first, user_last, user_password) VALUES ('".$_POST['first']."','".$_POST['last']."',AES_ENCRYPT($_POST['password'],$key))");
3:  Decrypt the password
Now, to display the decrypted password, you'll need a query similar to the one below:
$password = mysql_fetch_row(mysql_query("SELECT AES_DECRYPT(user_password,'$key') FROM users WHERE user_id = 4"));
echo $password[0];
So, using AES_ENCRYPT and AES_DECRYPT can be very useful when you need to store encrypted information in a database as well as display the original, unencrypted information.  Remember, you must use a 'key' in order to "unlock" and display the encrypted information.

please explain:
SELECT AES_Encrypt('SECRET DATA','KEY')
UNION
SELECT AES_Decrypt('60316eb379ad9beae9aa057af49bdff5','KEY')
UNION
SELECT AES_Decrypt(AES_Encrypt('SECRET DATA','KEY'),'KEY') 

分享到:
评论

相关推荐

    mysql与mssql的md5加密语句

    您可能感兴趣的文章:MySQL加密和解密实例详解Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享PHP MySQL应用中使用XOR运算加密算法分享MySQL 加密/压缩函数mysql双向加密解密方式用法详解MySQL 整表加密...

    MySQL数据库对敏感数据加密及解密的实现方式

    总结来说,MySQL内置的加密函数提供了方便的数据库内加密解密解决方案,适合在数据库层面处理敏感数据。而Python的base64加密则更适用于应用程序中的数据处理,尤其在需要在不同系统间交换数据时。两者各有优势,...

    易语言MYSQL密码加密源码(取数据摘要)

    总的来说,这个资源提供了使用易语言进行MySQL密码加密的一个实例,对于想要学习数据库安全和易语言编程的初学者来说非常有价值。通过深入理解并实践这段源码,开发者可以增强自己的安全编程能力,更好地保护应用...

    mysql字段加密

    MySQL 字段加密 ...MySQL 字段加密是通过设置 varbinary 类型的字段、设置加密盐为全局变量和使用 AES_ENCRYPT 和 AES_DECRYPT 函数来实现的。这种方法可以对敏感数据进行保护,提高数据库的安全性。

    MySQL加密和解密实例详解

    MySQL数据库在保障数据安全性方面提供了内置的加密和解密功能,这对于存储敏感信息,如用户密码,至关重要。本文将深入探讨如何在MySQL中实现数据的加密和解密,并通过实例来展示具体操作。 首先,我们要了解MySQL...

    Python+MySQL用户加密存储验证系统

    3.自定义(我自己定义了一个加密解密函数)加密序列,拿到内容没有序列无法解密 4.可更改用户密码,更改自定义KEY,更改加密存储内容 have fun! 如果有BUG请与我联系,也可以在我主页留言博客...

    MySQL函数大全中文版

    8. **加密和哈希函数**:如`MD5()`和`SHA1()`用于生成哈希值,`ENCRYPT()`和`DECRYPT()`用于数据加密解密。 9. **其他函数**:包括`ELT()`、`FIELD()`、`INSTR()`等特殊用途的函数。 除了这些基本的函数,MySQL还...

    基于python的信息加密解密网站源码数据库论文.doc

    在信息安全领域,Python提供了丰富的库和框架,如PyCrypto、cryptography.io等,用于实现各种加密解密算法,包括对称加密(如AES、DES)、非对称加密(如RSA、ECC)以及哈希函数(如MD5、SHA系列)。这些库不仅简化...

    python信息加密解密网站(完整前后端+mysql+说明文档+LW).zip

    2. 加密解密算法:为了实现信息的加密与解密,项目可能包含一系列算法实现,例如经典的对称加密算法、非对称加密算法、哈希函数、数字签名等。 3. 前端设计:除了后端逻辑,项目应该包括前端部分,即用户界面的设计...

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

    幸运的是,MySQL带有很多设计用来提供这 种类型安全的加密函数。本文概述了其中的一些函数,并说明了如何使用它们,以及它们能够提供的不同级别的安全。 双向加密 就让我们从最简单的加密开始:双向加密。在这里,...

    mysql中函数总汇

    加密函数用于加密和解密数据。常见的加密函数包括: * 等待补充... 信息函数 信息函数用于获取数据库和表的信息。常见的信息函数包括: * 等待补充... 聚合函数 聚合函数用于对数据进行分组和聚合操作。常见的...

    【python-毕业设计】python信息加密解密网站(完整前后端+mysql+说明文档+LW).zip

    本压缩包文件包含了完整的Python信息加密解密网站项目,涵盖前后端代码、数据库设计以及项目文档和源代码许可协议(LW)。该项目作为毕业设计,特别适合于学习和研究Python语言、网站开发、信息安全等领域的学生和...

    aes对称加密vue版本demo

    这个DEMO项目为开发者提供了一个完整的端到端加密示例,涵盖了前后端的加密解密流程,对于理解AES加密以及如何在实际项目中应用具有很高的参考价值。通过学习和实践这个DEMO,开发者能够更好地掌握AES加密技术,并将...

    Python+MySQL实现用户加密存储验证系统

    没有秘钥无法破解用户存储,登录,查看,删除操作,存储在数据库中用户密码加密存储,密码加密方式可选,目前只可选MD5和SHA1,用户存储内容加密存储,加密方式自定义自定义(我自己定义了一个加密解密函数)加密...

    基于python的信息加密解密网站源码数据库.doc

    本项目通过Python技术和MySQL数据库实现了信息加密解密系统,不仅为用户提供了一种简单高效的方法来保护个人信息,还为企业提供了更加安全的数据存储方案。未来,随着技术的发展,我们可以考虑加入更多先进的加密...

Global site tag (gtag.js) - Google Analytics