mysql数据库加解密(MySQL数据库加密)

本文目录一览:

如何利用MySQL数据库自带加密函数进行加密

首先,先介绍下加密函数,PASSWORD(string)函数可以对字符串string进行加密,代码如下:

SELECT PASSWORD(‘you’);

如下图所示:

执行第一步的SQL语句,查询结果是一串字符串,并且PASSWORD(string)函数加密是不可逆转,

如下图所示:

另外一个加密函数MD5(string),主要针对普通的数据进行加密,代码如下:

SELECT MD5(‘hai’);

如下图所示:

最后一个加密函数ENCODE(string,pass),可以使用字符串pass来加密字符串string。首先要创建一个数据库表t_pass_info,代码如下:

CREATE TABLE t_pass_info(

id int(10),

pass_info blob

);

如下图所示:

然后,向这个数据库表插入一条数据,代码如下:

INSERT INTO t_pass_info(id,pass_info) VALUES

(1,ENCODE(‘dong’,’bb’));

如下图所示:

6

查看插入数据库表t_pass_info记录,代码如下:

SELECT * FROM

t_pass_info;

如下图所示:

7

MySQL自带还有一个解密函数DECODE(str,pass_str),可以使用字符串pass_str来为str解密,代码如下:

SELECT DECODE(ENCODE(‘dong’,’aa’),’aa’);

如下图所示:

mysql数据库密码加密方式有几种

MySQL数据库的认证密码有两种方式,

MySQL 4.1版本之前是MySQL323加密,MySQL 4.1和之后的版本都是MySQLSHA1加密,

MySQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MySQL数据库里进行查询,前者是MySQL323加密,后者是MySQLSHA1方式加密。

(1)以MySQL323方式加密

select  old_password(‘111111’);

(2)以MySQLSHA1方式加密

select password(‘111111’);

MYSQL323加密中生成的是16位字符串,而在MySQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了”*”,在实际破解过程中去掉”*”,也就是说MySQLSHA1加密的密码的实际位数是40位。

如何在mysql数据库中加入加密算法,使得数据库能够对数据库中的数据进行加密。

没有用过mysql加密,但一般都是用服务端语言把数据加密后存入数据库中,比如,在PHP里用md5函数把用户的密码加密之后存入数据中,一般都 是这么解决的。

mysql数据库里面的数据中的密码加密了,怎么解密

mysql -uroot -p 输入密码回车后,出现如下图错误。这时候需要我们破解密码。

service mysqld stop //先停止mysql服务。

然后打开mysql配置文件/etc/my.cnf.在【mysqld】下面添加一行代码:skip-grant-tables。这行代码意思就是跳过跳过授权表,即是可以跳过密码验证直接进入数据库。

service mysqld restart //重启mysql数据库。假如不重启的话,不会生效。

mysql -uroot -p //此时直接回车,既可以进入数据库。

出现mysql就说明你已经进入到mysql数据库里了。

进数据库后,

use mysql //选择mysql这个库,因为mysql的root密码存放在这个数据库里。

show tables //查看下mysql库里有哪些表,我们需要操作的用户名密码都在user表里。

desc user //查看下user表有哪些字段

更改root密码。

update user set password=password(‘123456’) where user=”root”; //用户选root,可以随便更改成任意密码,我这里设置的123456,password()是mysql密码加密的一个函数。

flush privileges; //刷新下密码,使更改的生效。

exit //退出数据库。

退出数据库,重新登录

mysql -uroot -p //回车输入刚刚更改的密码,就能进去了。

然后再次进入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/312816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-06 15:17
下一篇 2025-01-06 15:17

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • Python 常用数据库有哪些?

    在Python编程中,数据库是不可或缺的一部分。随着互联网应用的不断扩大,处理海量数据已成为一种趋势。Python有许多成熟的数据库管理系统,接下来我们将从多个方面介绍Python…

    编程 2025-04-29
  • openeuler安装数据库方案

    本文将介绍在openeuler操作系统中安装数据库的方案,并提供代码示例。 一、安装MariaDB 下面介绍如何在openeuler中安装MariaDB。 1、更新软件源 sudo…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • 数据库第三范式会有删除插入异常

    如果没有正确设计数据库,第三范式可能导致删除和插入异常。以下是详细解释: 一、什么是第三范式和范式理论? 范式理论是关系数据库中的一个规范化过程。第三范式是范式理论中的一种常见形式…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • leveldb和unqlite:两个高性能的数据库存储引擎

    本文将介绍两款高性能的数据库存储引擎:leveldb和unqlite,并从多个方面对它们进行详细的阐述。 一、leveldb:轻量级的键值存储引擎 1、leveldb概述: lev…

    编程 2025-04-28
  • Python怎么导入数据库

    Python是一种高级编程语言。它具有简单、易读的语法和广泛的库,让它成为一个灵活和强大的工具。Python的数据库连接类型可以多种多样,其中包括MySQL、Oracle、Post…

    编程 2025-04-28
  • MySQL bigint与long的区别

    本文将从数据类型定义、存储空间、数据范围、计算效率、应用场景五个方面详细阐述MySQL bigint与long的区别。 一、数据类型定义 bigint在MySQL中是一种有符号的整…

    编程 2025-04-28
  • MySQL左连接索引不生效问题解决

    在MySQL数据库中,经常会使用左连接查询操作,但是左连接查询中索引不生效的情况也比较常见。本文将从多个方面探讨MySQL左连接索引不生效问题,并给出相应的解决方法。 一、索引的作…

    编程 2025-04-28

发表回复

登录后才能评论