MySQL 数据库级别加密、解密

MySQL数据库加密与解密: 

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

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

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

推荐一种简单的 MySQL 数据库级别的数据加密、解密解决方案

在表中插入加密数据

推荐一种简单的 MySQL 数据库级别的数据加密、解密解决方案

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

下面是表中的数据截图:

推荐一种简单的 MySQL 数据库级别的数据加密、解密解决方案

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

下面是表中的数据截图:

推荐一种简单的 MySQL 数据库级别的数据加密、解密解决方案

从表中查询加密数据

推荐一种简单的 MySQL 数据库级别的数据加密、解密解决方案

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

MYSQL数据库的密码加密方式有两种。在MYSQL 4.1版本之前,使用的是MYSQL323加密方式。而在MYSQL 4.1及之后的版本中,使用的是MYSQLSHA1加密方式。\[1\]在MYSQL数据库中,可以使用Old_Password和Password函数来查询密码,前者是用于MYSQL323加密,后者是用于MYSQLSHA1加密。\[1\] 在实际攻防过程中,如果能够获取到Webshell,可以直接下载MYSQL数据库中的user.MYD文件。该文件中保存了MYSQL数据库中所有用户对应的密码。只要能够破解这些密码,就可以正常操作这些数据。\[2\] 研究MYSQL数据库的加解密方式对于网络攻防具有重要意义。一旦获取了网站的一定权限,如果能够获取到MYSQL中保存的用户数据,并解密成功,就可以通过正常途径访问数据库。这不仅可以直接操作数据库中的数据,还可以提升权限。\[3\]目前关于破解MYSQL数据库用户密码的研究并不多,但这个问题仍然是一个有待探索和尝试的领域。\[3\] #### 引用[.reference_title] - *1* *2* *3* [详解MYSQL数据库密码的加密方式及破解方法(1)](https://blog.csdn.net/arau_sh/article/details/7619721)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值