002-01-01 来自山那头儿表哥“大水牛”通过GPT4 获取的mysql 加解密:base64, hex, aes

本文主要是介绍002-01-01 来自山那头儿表哥“大水牛”通过GPT4 获取的mysql 加解密:base64, hex, aes,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

02-01-01 来自山那头儿表哥“大水牛”通过GPT4 获取的mysql 加解密:base64, hex, aes

1,大水牛:数据加密的为何那么重要

GPT:
为了保障个人财产和生命的安全,必须有意识地保护个人的敏感信息。
生活中的个人敏感信息包括如下内容:生物识别、宗教信仰、金融账户、行踪轨迹、健康信息、民族和宗教信仰、性取向和性偏好、教育信息、隐私通讯等。
1、生物识别信息:如个人基因、指纹、声纹、掌纹、耳廓、虹膜、面部特征等等,可以用于身份验证和个人信息的保护。
2、个人身份信息:包括姓名、身份证号码、出生日期、家庭住址、政治面貌、职业、军官证、护照、驾驶证、工作证、社保卡、居住证等敏感信息。
3、个人财务信息:包括银行账号、鉴别信息(口令)、存款信息(包括资金数量、支付收款记录等)、房产信息、信贷记录、征信信息、交易和消费记录、流水记录等,以及虚拟货币、虚拟交易、游戏类兑换码等虚拟财产信息等,这些信息可能被用于金融诈骗或盗取个人财产。
4、个人行踪轨迹:包括行踪轨迹、旅行记录、通讯记录等,这些信息可能被用于追踪和监控个人行动,侵犯个人隐私。
5、个人健康生理信息:个人因生病医治等产生的相关记录,如病症、住院志、医嘱单、检验报告、手术及麻醉记录、护理记录、用药记录、药物食物过敏信息、生育信息、以往病史、诊治情况、家族病史、现病史、传染病史等,以及与个人身体健康状况产生的相关信息等,这些信息可能会对个人的就医和健康保健产生影响,需要严格保护。
6、个人网络身份标识信息:系统账号、邮箱地址及与前述有关的密码、口令、口令保护答案、用户个人数字证书等。
7、其他信息:个人电话号码、性取向、婚史、宗教信仰、未公开的违法犯罪记录、通信记录和内容、行踪轨迹、网页浏览记录、住宿信息、精准定位信息等。

2, 大水牛: mysql中有哪些常用的数据加密方法

GPT:

2.1 base64 加解密

示例如下:

select to_base64('要加密的字段或内容');
-- 结果: 6KaB5Yqg5a+G55qE5a2X5q615oiW5YaF5a65
select from_base64('6KaB5Yqg5a+G55qE5a2X5q615oiW5YaF5a65');
-- 结果:要加密的字段或内容

2.2 hex 加解密

select hex('要加密的字段或内容');
-- 结果: E8A681E58AA0E5AF86E79A84E5AD97E6AEB5E68896E58685E5AEB9
select unhex('E8A681E58AA0E5AF86E79A84E5AD97E6AEB5E68896E58685E5AEB9');
-- 结果:要加密的字段或内容

2.3 base64 和 hex 加解密的区别

hex编码的特点是: 体积大,解码编码速度快。
base64编码的特点: 体积小,但是由于算法相对复杂所以解码编码速度比较慢。
两者明显的缺点,可以简单地破解。

2.4 使用aes对称加密方法

示例:

select aes_encrypt('要加密的字段或内容', '密钥');
select aes_decrypt(aes_encrypt('要加密的字段或内容', '密钥'), '密钥');

2.5 使用aes对称加解密的弊端

加密之后的内容,可能是无法似乎别的符号, 示例如下。

select aes_encrypt('要加密的字段或内容', '密钥'); 
-- ▒▒+VNڦ▒w▒Dy▒▒ӺT?▒t▒c:5OAr                                 |

为此,一般是结合hex 和base64 来使用,示例如下:

select to_base64(AES_ENCRYPT('待加密的明文', '秘钥')); 
select cast(AES_DECRYPT(from_base64(to_base64(AES_ENCRYPT('待加密的明文', '秘钥'))), '秘钥') as char); SELECT HEX(AES_ENCRYPT('原始字符串','密钥'));
SELECT cast(AES_DECRYPT(UNHEX(HEX(AES_ENCRYPT('原始字符串','密钥'))), '密钥') as char);

上述的cast(… as char) 不是必须的,在某些java的mysql 客户端下可能显示中文异常, 可以用这个方法解决。

2.6 更加安全的加密方式

SHOW VARIABLES LIKE 'block_encryption_mode';
SET block_encryption_mode = 'AES-128-CBC';
SET @KEY = '1234567890adbcde';
SET @Iv = '1234567890hjlkew';
-- 加密
select to_base64(aes_encrypt('加密前的内容a123331', @KEY, @Iv));
-- 解密
select cast(aes_decrypt(from_base64(to_base64(aes_encrypt('加密前的内容a123331', @KEY, @Iv))), @KEY, @Iv) as char);

这篇关于002-01-01 来自山那头儿表哥“大水牛”通过GPT4 获取的mysql 加解密:base64, hex, aes的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/573243

相关文章

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

MySQL中的锁机制详解之全局锁,表级锁,行级锁

《MySQL中的锁机制详解之全局锁,表级锁,行级锁》MySQL锁机制通过全局、表级、行级锁控制并发,保障数据一致性与隔离性,全局锁适用于全库备份,表级锁适合读多写少场景,行级锁(InnoDB)实现高并... 目录一、锁机制基础:从并发问题到锁分类1.1 并发访问的三大问题1.2 锁的核心作用1.3 锁粒度分

MySQL数据库中ENUM的用法是什么详解

《MySQL数据库中ENUM的用法是什么详解》ENUM是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用,下面:本文主要介绍MySQL数据库中ENUM的用法是什么的相关资料,文中通过代码... 目录mysql 中 ENUM 的用法一、ENUM 的定义与语法二、ENUM 的特点三、ENUM 的用法1

MySQL count()聚合函数详解

《MySQLcount()聚合函数详解》MySQL中的COUNT()函数,它是SQL中最常用的聚合函数之一,用于计算表中符合特定条件的行数,本文给大家介绍MySQLcount()聚合函数,感兴趣的朋... 目录核心功能语法形式重要特性与行为如何选择使用哪种形式?总结深入剖析一下 mysql 中的 COUNT

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二