首页 > 信息安全 > 正文

MySQL数据库加密与解密

2012-03-06 11:09:30  来源:codereflex.net

摘要:数据加密、解密在安全领域非常重要。对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大。
关键词: MYSQL

    数据加密、解密在安全领域非常重要。对程序员而言,在数据库中以密文方式存储用户密码对入侵者剽窃用户隐私意义重大。


    有多种前端加密算法可用于数据加密、解密,下面我向您推荐一种简单的数据库级别的数据加密、解密解决方案。以MYSQL数据库为例,它内建了相应的加密函数(AES_ENCRYPT() )和解密函数(AES_DECRYPT())。

\

 

    在表中插入加密数据


    INSERT INTO userdata(username,pasword,encryptedpassword)  VALUES ('smith','htims',AES_ENCRYPT('htims','key'))


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


    下面是表中的数据截图:

\

 

    从表中查询加密数据


    SELECT username,pasword,AES_DECRYPT(encryptedpassword,'key')  FROM userdata


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

\


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


第四十一届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:liangxuejuan

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。