MySQL JSON字段操作与加密函数指南

创始人
2025-01-12 21:25:50
0 次浏览
0 评论

mysql数据库中某个字段存的是json数据,如何对json数据中的数据进行操作?

这可以使用json_decode()函数将json格式字符串解析为数组。
一旦成为数组,就可以轻松管理。
您可以删除数组中的任何元素或添加元素。
例如:array_push($data,['sort'=>3,'catentryId'=>10003]),然后转为json格式存入数据库。
方法有很多,这里举一个简单的例子

MySQL中加密函数学习--MySql语法

本文提供了MySQL加密函数的学习指南,重点介绍加密和处理加密值。
为了保证数据安全,建议使用BLOB列来存储加密函数生成的结果,避免删除字符串尾部空格导致数据丢失。
MySQL官方提供的AES加密算法是Rijndael。
其密钥默认为128位,支持扩展至256位。
AES支持任意长度的输入参数。
如果输入参数为NULL,函数将返回NULL。
AES输出的长度基于输入数据的长度并遵循AES填充规则。
生成的字符串的长度为16*(trunc(string_length/16)+1)。
AES_DECRYPT()函数用于解密。
如果遇到无效数据或错误填充,将返回NULL。
如果您输入的数据或密码不正确,可能会返回无效信息。
使用AES函数加密数据的示例为:INSERTINTOtVALUES(1,AES_ENCRYPT('text','password'));。
AES_ENCRYPT()和AES_DECRYPT()被认为是MySQL中最安全的数据加密通用函数。
通过使用pass_str作为密码,可以解密加密的字符串crypt_str,即crypt_str应该是ENCODE()返回的字符串。
使用pass_str解密str并通过DECODE()得到结果。
结果是与str长度相同的二进制字符串,适合存储在BLOB列中。
DES_ENCRYPT()函数用于DES加密,如果发生错误,则返回NULL。
DES_DECRYPT()函数用于DES解密。
如果传递key_str参数,则作为解密密钥;如果未提供key_str,MySQL将尝试从DES_ENCRYPT()的第一个字节推导出加密密钥。
然后从DES密钥文件中读取关键字。
返回的字符串是一个二进制字符串,长度为new_len=orig_len+(8-(orig_len%8))+1。
可以使用FLUSHDES_KEY_FILE语句更新DES关键字文件,这需要RELOAD权限。
使用ENCRYPT()和MD5()函数加密数据。
ENCRYPT()使用crypt()系统调用来加密str。
salt参数必须包含至少2个字符。
如果未提供,则使用默认值。
MD5()生成128位校验和并返回32个十六进制数字的二进制字符串。
MD5()可在所有平台上使用,SHA1()提供160位校验和作为安全哈希算法的实现。
PASSWORD()函数用于计算并返回密码字符串,用于加密存储用户授权表的Password列。
PASSWORD()加密过程是不可逆的,与Unix密码加密方法不同。
为了确保安全,我们建议使用MD5()或SHA1()函数代替PASSWORD(),并参阅RFC2195了解有关应用程序中密码管理和安全认证的更多信息。

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字符串,该字符串必须是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])函数该函数使用说明:使用Unixcrypt()系统调用对str进行加密。
salt参数必须是至少包含2个字符的字符串。
如果未提供salt参数,则将使用任何值。
g)MD5(str)函数使用说明:计算字符串的MD5128位校验和。
该值以32个十六进制数字的二进制字符串形式返回。
如果参数为NULL,则返回NULL。
例如,返回值可以用作哈希键h)OLD_PASSWORD(str)函数使用指南:当更改PASSWORD()实现以提高安全性时,MySQL将添加OLD_PASSWORD()。
OLD_PASSWORD()返回先前(4.1之前)PASSWORD()实现的值,并且还允许您为任何需要连接到MySQL5.1服务器的4.1之前的客户端设置密码,而无需剪切它们i)PASSWORD(str)函数使用说明:由原始密码str计算并返回密码字符串,当参数为NULL时返回NULL。
该函数用于将加密后的MySQL密码存储在用户授权表的Password列中

热门文章
1
Python代码实现:如何判断三角形的三... python三角形三条边长,判断能否构成三角形Python三角形的三个长边如下:...

2
高效掌握:CMD命令轻松启动、关闭及登录... 如何用cmd命令快速启动和关闭mysql数据库服务开发中经常使用MySQL数据库...

3
SQL字段默认值设置全攻略:轻松实现自动... sql如何设置字段默认值设置SQL中某个字段的默认值;需要遵循几个步骤。首先您需...

4
MySQL查询加速秘籍:PolarDB ... mysql中in大量数据导致查询速度慢怎么优化?在MySQL中处理大量数据时,查...

5
SQL2000数据库备份压缩技巧:优化空... 怎么将SQL2000中的较大的备份数据库压缩变小更改数据库属性-选项-恢复模型很...

6
SQL字符串处理技巧:单引号使用与转义标... SQL语句中,字符串类型的值均使用什么符号标明?单引号如果字符串内有单引号,请小...

7
Windows环境下Redis安装指南与... redis安装windowsredis基本简介与安装安装Redis首先需要获取安...

8
深度解析:Redis性能优势与局限性,助... redis有哪些优缺点?Redis的全称是RemoteDictionary.Se...

9
深入解析:MySQL数据库的特性与应用 mysql是什么MySQL是一个关系数据库管理系统。MySQL是一个开源关系数据...

10
MySQL密码找回攻略:三步解决忘记密码... 数据库忘记了密码咋办啊如果您忘记了数据库密码,可以尝试以下步骤:1.使用默认帐户...