mysql8怎么加密函数,mysql加密解密函数

MySQL函数的加密函数

a) 函数 AES_ENCRYPT(str ,key_str ) , AES_DECRYPT(crypt_str ,key_str )

公司主营业务:网站设计制作、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出旅顺口免费做网站回馈大家。

函数使用说明:这些函数允许使用官方 AES 进行加密和数据加密 ( 高级加密标准 ) 算法 , 即以前人们所熟知的 “Rijndael” 。 保密关键字的长度为 128 比特,不过你可以通过改变源而将其延长到 256 比特。我们选择了 128 比特的原因是它的速度要快得多,且对于大多数用途而言这个保密程度已经够用。

b) 函数DECODE(crypt_str ,pass_str )

函数使用说明:使用 pass_str 作为密码,解密加密字符串 crypt_str , crypt_str 应该是由 ENCODE() 返回的字符串。

c) 函数 ENCODE(str ,pass_str )

函数使用说明:使用 pass_str 作为密码,解密 str 。 使用 DECODE() 解密结果。

d) 函数 DES_DECRYPT(crypt_str [,key_str ])

函数使用说明:使用 DES_ENCRYPT() 加密一个字符串。若出现错误,这个函数会返回 NULL 。

e) 函数 DES_ENCRYPT(str [,(key_num |key_str )])

函数使用说明:用 Triple-DES 算法给出的关键字加密字符串。若出现错误,这个函数会返回 NULL 。

f) 函数 ENCRYPT(str [,salt ])

函数使用说明:使用 Unix crypt() 系统调用加密 str 。 salt 参数应为一个至少包含 2 个字符的字符串。若没有给出 salt 参数,则使用任意值。

g) 函数 MD5(str )

函数使用说明:为字符串算出一个 MD5 128 比特检查和。该值以 32 位十六进制数字的二进制字符串的形式返回 , 若参数为 NULL 则会返回 NULL 。例如,返回值可被用作散列关键字

h) 函数 OLD_PASSWORD(str )

函数使用说明:当 PASSWORD() 的执行变为改善安全性时, OLD_PASSWORD() 会被添加到 MySQL 。 OLD_PASSWORD() 返回从前的 PASSWORD() 执行值 ( 4.1 之前 ) ,同时允许你为任何 4.1 之前的需要连接到你的 5.1 版本 MySQL 服务器前客户端设置密码,从而不至于将它们切断

i) 函数PASSWORD(str )

函数使用说明:从原文密码str 计算并返回密码字符串,当参数为 NULL 时返回 NULL 。这个函数用于用户授权表的Password 列中的加密MySQL 密码存储

MYSQL AES 加密

使用mysql的加密函数运行:

select HEX(AES_ENCRYPT( 'test aes encrypt','123')) as aesTest

输出密文:

17CDAE577C715A0B5A922BF07462622AF15884B6D0F596B0241DC8F966C4A93F

官方文档解释:

The block_encryption_mode system variable controls the mode for block-based encryption algorithms. Its default value is font color="red" aes-128-ecb /font, which signifies encryption using a key length of 128 bits and ECB mode. For a description of the permitted values of this variable, see Section 5.1.8, “Server System Variables” .

在线加密验证 :

该网加密结果为:

17cdae577c715a0b5a922bf07462622af15884b6d0f596b0241dc8f966c4a93f

与mysql加密结果一致,只是大小写差异。

mysql8加密规则更改

原因:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则改为caching_sha2_password

解决办法:

1、升级客户端

2、把mysql用户登录密码加密规则还原成mysql_native_password:

ALTER USER xxxx IDENTIFIED WITH mysql_native_password BY '新密码';

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

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

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位。


网页名称:mysql8怎么加密函数,mysql加密解密函数
转载注明:http://scyanting.com/article/dsgsdis.html