Mysql中的对数据库字段的数据进行加密

这篇具有很好参考价值的文章主要介绍了Mysql中的对数据库字段的数据进行加密。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

建表:

CREATE TABLE `s1` (
  `id` int(10) NOT NULL AUTO_INCREMENT,
  -- 编码格式问题需要设置字段类型为varbinary(30)
  `name` varbinary(30) DEFAULT NULL,
  `gender` char(6) DEFAULT NULL,
  `email` varchar(50) DEFAULT NULL,
  `phone` varchar(20) DEFAULT NULL,
  `create_time` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ups` (`phone`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

注意点:此处只对name字段进行了字段类型的修改。

插入数据测试:(加密)

INSERT INTO homework.s1 
(name, gender, email, phone, create_time)
 VALUES(ENCODE('123','123'), 'dept', '1289482augu', '1222121', '2023-1-12');

ENCODE('123','123'):

第一个123:表示插入数据库中的数据(即将要被转换的数据)

第二个123:表示转换秘钥,可以任意起名。在解密的时候会需要用到。

数据查询:(解密)

SELECT DECODE(ENCODE('123','123'),'123' );

结果:

Mysql中的对数据库字段的数据进行加密

注意点1:此处DECODE的两个参数分别为 需要解密的内容(数据库中的内容),另一个是加密时的秘钥。

注意点2:这里的秘钥必须是加密时的秘钥保持一致。

Mysql中的对数据库字段的数据进行加密

 这个就不是我们需要的查询结果。

补充:

如果数据库需要insert 的数据是中文,则无法正常显示

例子:

插入数据:

Mysql中的对数据库字段的数据进行加密

 

查询数据:

Mysql中的对数据库字段的数据进行加密

 由以上结果可知,中文在被加密后无法解密成正常显示结果。

使用场景:

当需要对一些只有包含数字或字母的字段时,可以尝试使用这种加密解密方式存储数据。文章来源地址https://www.toymoban.com/news/detail-484880.html

到了这里,关于Mysql中的对数据库字段的数据进行加密的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql 数据库DML 数据操作语言—— 对数据库表中的数据进行更改UPDATE 和删除DELETE

        delete语句可以有条件,也可以没有,如果没有条件的话就是删除整张表 delete不可以删除表中某一个字段的值,但是update可以; 

    2024年01月19日
    浏览(19)
  • java通过JDBC连接mysql8.0数据库,并对数据库中的表进行增删改查操作

    目录 一、JDBC简介 二、添加依赖 三、JDBC操作数据库的步骤 四、JDBC操作数据库——增删改查 (一)新增数据 (二)删除数据 (三)修改数据 (四)查询数据 (五)多表连接查询         Java数据库连接,(Java Database Connectivity,简称JDBC)是java语言中用来规范客户端程序如何来访问数

    2024年02月03日
    浏览(24)
  • Sql Server数据库实现表中字段的列加密研究

            去年6月份的时候做过一个系统,要对里面的一些敏感字段进行一下加密。Sqlserver列加密可以参考官方文档:SQL Server 技术文档 - SQL Server | Microsoft Learn。主要看下来有三种加密方法:1、利用证书对数据进行加密和解密。2、利用非对称密钥对数据进行加密和解密。3、利

    2024年02月05日
    浏览(52)
  • django添加数据库字段进行数据迁移

    1.修改view.py里面的变量 2.在model.py新增字段 3.打开terminal并将环境切到项目所在环境,切换方式为 4.执行命令

    2024年02月09日
    浏览(28)
  • MySQL数据库——MySQL数据表添加字段(三种方式)

    MySQL 数据表是由行和列构成的,通常把表的“列”称为字段(Field),把表的“行”称为记录(Record)。随着业务的变化,可能需要在已有的表中添加新的字段。 MySQL 允许在开头、中间和结尾处添加字段。 一个完整的字段包括字段名、数据类型和约束条件。MySQL 添加字段的语

    2024年02月08日
    浏览(47)
  • Spring Boot项目使用 jasypt 加密组件进行加密(例如:数据库、服务的Key、等等进行加密)

    🍓 简介:java系列技术分享(👉持续更新中…🔥) 🍓 初衷:一起学习、一起进步、坚持不懈 🍓 如果文章内容有误与您的想法不一致,欢迎大家在评论区指正🙏 🍓 希望这篇文章对你有所帮助,欢迎点赞 👍 收藏 ⭐留言 📝 🍓 更多文章请点击 密码配置项都不加密? 想啥呢? 一

    2024年02月07日
    浏览(23)
  • mysql 查询数据库所有表,表字段

    工作中,编写xmlsql时需要查询全部字段,可以利用sql快速组装所有的列 1.查询所有的表名 2.查询某个表的所有字段 3.组装表的所有列

    2024年02月12日
    浏览(25)
  • MySQL相关的SQL语句、数据库、数据表、字段、类型

    1、 SQL 语句不区分大小写。 SQL语句 用途 描述 mysql -u root -p 连接 MySQL 在命令行窗口中输入 mysql -u root -p 命令,回车,然后输入 MySQL 密码(不要忘记了密码,找回麻烦),再回车就连接上 MySQL 了。最初都是使用 root 用户登录,工作中不能一直使用 root 用户登录。因为 root 权限太

    2024年02月13日
    浏览(40)
  • Django中数据库模型中的DecimalField字段和IntegerField字段有何区别?

    在Django的数据库模型中, DecimalField 和 IntegerField 是两种不同的字段类型,用于存储数字数据。它们的主要区别在于支持的数据范围和精度。 IntegerField 是用于存储整数值的字段类型。它可以存储包含正数、负数和零在内的整数值。 IntegerField 的取值范围是由所使用的数据库系

    2024年02月16日
    浏览(12)
  • python使用pysqlcipher3对sqlite数据库进行加密

    python对很多项目都需要对sqlite数据库的数据进行加密,最流行的加密方式是使用pysqlcipher3,当前使用的python版本为3.7,本博文是直接使用pysqlcipher3在项目上的应用,使用的是已编译好的pysqlcipher3包,如果你需要pysqlcipher3,在后面有下载地址,下载后,可以直接使用,不需要再

    2024年04月13日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包