MYSQL的加密解密函数,实现钱包的加密功能

Springboot 使用mysql加密解密函数 (数据加密篇 三) 最近项目组开始关注一些敏感数据的明文相关的事宜 , 其实这些东西也是都有非常成熟的解决方案。 既然最近着手去解决这些事情,那么也顺便给还未了解的大伙普及一下。 这个系列就暂短的分成两篇 : 第一篇 yml配置文件里敏感数据的加密 第二篇 传入数据敏感数据的加密存储 第三篇 使用mysql加解密函数轻松实现 本篇是第三篇 ,完全基于mysql来完成,和前面两篇瓜葛不大。 正文 这篇就非常简单直接了 。 1.前提要求 ,把需要加密存储的数据... 阅读详情

参数说明:
1) balanceKey:钱包余额加密字段;注意数据库不能设置为varchar类型,需要是varbinary(二进制)类型;
例如:balanceKey varbinary(500) DEFAULT NULL;
2) pskey是加密秘钥:项目中通过MD5加密方法获取
例如:MD5Util.encoderWithSalt(str, salt);
3) CAST AS 类型转换函数 ,表达式中的类型转化成DECIMAL类型
4) balance,新增或减少的余额

加密解密函数:
1) AES_ENCRYPT()函数将明文加密,存储在MySQL中
创建测试表:

CREATE TABLE `myTest` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `balanceKey` varbinary(500) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;

插入加密数据:

INSERT into myTest (balanceKey) VALUES (AES_ENCRYPT('hello world', 'key'));

2) 解密函数AES_DECRYPT()

SELECT AES_DECRYPT(balanceKey,'key') FROM  myTest;

结果:
在这里插入图片描述

功能描述:主要是对钱包余额做一个加密

1. 每次修改钱包余额的时候先解密,减去或加上修改值,然后在加密保存到数据库中
AES_ENCRYPT(CAST(AES_DECRYPT(balanceKey,#{pskey})+#{balance} AS DECIMAL(16, 2)),#{pskey}),
2. 新增的时候直接通过加密函数保存就可以了(项目中实际是通过同一个方法来实现的,都是更新余额)
例如:

<update id="updateWallet" parameterType="map">
        UPDATE maker
        <set>
            <if test="balance != null">
                balance = balance+#{balance},
                balanceKey =  AES_ENCRYPT(CAST(AES_DECRYPT(balanceKey,#{pskey})+#{balance} AS DECIMAL(16, 2)),#{pskey}),
            </if>
            <if test="total != null">
                total = total+#{total},
            </if>
        </set>
        WHERE id = #{makerId}
        <if test="balance != null and balance &lt; 0 and isDeduct != true">
            AND AES_DECRYPT(balanceKey,#{pskey})+#{balance} >= 0
        </if>
    </update>
基于python的信息加密解密网站设计与实现 在大家以往的认知里,就算别人得到了自己的个人信息也不会对自己有任何的影响,但其实当今这个社会信息安全非常重要。有一些居心叵测的人会通过你遗漏在别处的个人信息得到你的姓名、电话甚至住址和工作单位,并以此进行电信诈骗。 Python信息加密解密系统提供了多种功能,用户们可以在系统上面挑选适合自己的加密或机密方法,加密后还可以对信息进行解码处理,以此对自己的信息进行最大程度的保护。与传统的密码编译工具相比,基于Python的加密解密网站系统能够提供更贴合用户需求的服务,大大提升用户体验。 阅读详情

相关推荐

mobaXterm连接vmWare虚拟机上的centOS7提示连接失败的解决方法

1.问题描述: mobaXterm安装后连接虚拟机vmWare上的centOS7发现连接不上,如下图所示: 2.解决方法 先是查了一下centOS的ip 开始错误的以为 virbr0: 后面的inet就是虚拟机的IP 实则不然(正确的ip是在ens33后面的inet中的ip,大佬们勿喷) 这个值需要配置一下的,具体配置过程如下: step1: 进入centOS下的/...

hss19214的博客 7891

JAVA使用mysql加密解密函数(AES_ENCRYPT/AES_DECRYPT)

在java中使用mysql提供的加密解密函数AES_ENCRYPT/AES_DECRYPT对要存入的数据进行加密解密操作

qq_56014418的博客 5163

博途AI助手演示,完成简单且重复的梯形图代码,并导入到博途

自写个博途AI助手,下面演示AI帮我生成完善多个模拟量输入转换的代码,

gsjkwg的博客 1530

mysql上的加密算法

在mysql上面将明文字段加密,然后再解密。(为何我如此蛋疼?)

封号的专栏 2990

告别Keil手动分区!用CubeMX+VS Code一键生成带Bootloader的STM32 OTA工程

本文详细介绍了如何利用STM32CubeMX和VS Code实现STM32 OTA工程的自动化构建,告别传统Keil手动分区的繁琐流程。通过图形化配置Flash分区、自动生成链接脚本以及实现Bootloader跳转逻辑,开发者可以高效完成远程升级功能开发,显著提升嵌入式开发效率。

weixin_33720956的博客 390

数字锁相环的原理与FPGA实现

数字锁相环是锁相环电路的全数字实现。锁相环电路能够实现对输入信号的相位进行跟踪,进而在噪声中提取纯净的有用信号。以上就是今天要讲的内容,本文简单地介绍了锁相环的原理,然后,在Vivado仿真平台上,通过verilog做仿真验证。最终仿真结果能够实现锁定,但锁定时间较长,表明参数仍可做调整。

weixin_45857378的博客 8513

Mysql数据库身份证统计sql数据库加密等操作

时间:2020年8月18日16:46:52 select * from( -- 用户信息 select * from( select u.id,from_unixtime(u.c_time),from_unixtime(u.last_login_time), ua.available_total_money, CASE WHEN p.is_novice = 1 THEN up.money ELSE 0 end new_invest from sl_user u left jo

php_xml的博客 950

卷积神经网络中的边缘检测:从Canny算法到深度学习(PyTorch实现)

本文系统梳理了边缘检测从经典Canny算法到深度学习方法的演进,重点解析了Canny算法的数学原理及其对卷积神经网络设计的深远影响。通过PyTorch实战,详细演示了如何构建并训练一个基于HED架构的深度学习边缘检测模型,并探讨了模型优化、评估及与传统方法融合的高级技巧。

jenkins8butler的博客 154

SQL金额加密

select dbo.retNumber(salary,'YR'),salary from pay_specify where em_no='1188'  11.67 67629.91

jmlei的专栏---IBM, AS400, RPGLE, CLLE, Delphi, ASP... 1388

基于深度学习的道路裂缝检测系统完整教程

本文介绍了一种基于深度学习的道路裂缝检测系统完整解决方案。项目采用5466张高质量道路裂缝图像数据集,包含YOLO和Pascal VOC两种标注格式,覆盖多种道路场景。系统利用CNN和YOLO算法实现高效检测,相比传统人工巡检显著提升效率和准确性。文中详细阐述了数据集结构、环境配置和训练流程,包括数据预处理、智能分割策略和质量检查方法。该技术可及时发现道路裂缝隐患,降低维护成本,保障交通安全,为道路养护提供智能化解决方案。

FJN110的博客 299

【一看就会】Autoware.universe的“规划”部分源码梳理【0】——Planning综述(持续更新中)

单独开一篇planning综述,作为整个规划系列的开篇。本篇综述会持续更新,希望能帮助大家更好的整体理解规划部分。这个部分会持续更新。

weixin_48386130的博客 1967

oracle数据库加密学习总结

作者: ldd600 安全就好比在寒冷的冬天里,您穿上好几件衣服或穿最庞大的冬天使用的夹克御寒。 但是,构建各防御层可能阻止不了最坚决的恶意入侵者,当然这也不会总能够防御合法用户盗窃公司财产。 这里的组最后一道防线是加密,通过加密,用户(或者恶意入侵者)只有使用密码才可以访问到数据。 没有密码的数据是无效的。 如果您保护了密码,您就保护了数据。请记住,加密不能替代其它层次的安全性。

城市蜗牛 6006

【教程4>第10章>第13节】基于FPGA的图像双边滤波开发——单通道双边滤波Verilog实现

本文介绍了基于Vivado 2022.2的单通道高斯滤波FPGA实现方案。主要内容包括:1)采用3×3窗口像素提取、高斯权值计算、exp指数运算等模块构建双边滤波系统;2)详细分析了Verilog HDL实现的顶层设计文件,包含窗口数据生成、指数计算、混合权重、归一化处理等关键模块;3)展示了图像双边滤波器的RTL结构图。该设计为后续实现RGB三通道图像高斯滤波及MATLAB联合仿真奠定了基础。

FPGA/MATLAB学习教程/源码/项目合作开发 265

MySQL 加密解密函数

MySQL的加密和解密函数个人分为两类: 1.只支持正向加密不支持反向解密的函数: MD5()、SHA1()|SHA()、SHA2() 针对此类加密的算法MySQL不提供解密,但是我们可以通过网站 http://www.cmd5.com/ 反向解密。 改网站支持MD5、SHA、SHA256、SHA512等解密。 2.支持加密和解密的函数: COMPRESS(),UNCOMPRESS():普通的加...

学渣的博客 4482

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

mysql加密解密函数

mysql下的加密函数有如下几个 PASSWORD():创建一个经过加密的密码字符串,适合于插入到MySQL的安全系 统。该加密过程不可逆,和unix密码加密过程使用不同的算法。主要用于MySQL的认证系统。   ENCRYPT(,):使用UNIX crypt()系统

朝着梦想 渐行前进 2万+

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Mysql使用aes加密解密

mysql数据库实现aes加密和解密前言解决过程 前言 这几天碰到一个需求: 需要将mysql里面的敏感数据(手机号码、住址、身份证号码等信息)加密存储。问题是当前数据库里面已经有一定量的数据存在。我需要将数据库里面的数据重新加密。我采用的是aes加密。 写个博客记录一下处理过程,以便之后查看。如有 错误,请各位指正!! 解决过程 在这里我就只拿其中一张表来说了。 表结构如下 : 这里主要要加...

weixin_43623880的博客 5100

基于Python的信息加密解密网站设计与实现【源码+论文+演示视频+包运行成功】

Python信息加密解密系统提供了多种功能,用户们可以在系统上面挑选适合自己的加密或机密方法,加密后还可以对信息进行解码处理,以此对自己的信息进行最大程度的保护。与传统的密码编译工具相比,基于Python的加密解密网站系统能够提供更贴合用户需求的服务,大大提升用户体验。

quanzhan_King的博客 2121

java mysql 加密_mysql加密解密函数与java操作

mysql下的加密函数有如下几个PASSWORD():创建一个经过加密的密码字符串,适合于插入到MySQL的安全系统。该加密过程不可逆,和unix密码加密过程使用不同的算法。主要用于MySQL的认证系统。ENCRYPT(,):使用UNIX crypt()系统加密字符串,ENCRYPT()函数接收要加密的字符串和(可选的)用于加密过程的salt(一个可以唯一确定口令的字符串,就像钥匙一样),注意,w...

weixin_39680609的博客 1285

基于MySQL的加密解密方式

工具 mysql 8 navicat 初级加密解密 最无脑的加密,原文为aaa,密钥为aaabbbccc SELECT AES_ENCRYPT("aaa","aaabbbccc"); 加密出的密文是一串二进制乱码: 但由于是乱码,解析过程就会出现问题: SELECT AES_DECRYPT('8�º�{DTpВ�+b','aaabbbccc'); 密文转十六进制 为了能看懂加密结果及更好的解析,我们将加密结果转换成十六进制密文: SELECT HEX(AES_ENCRYPT("aaa","aaa

qq_43623320的博客 875

MySQL的系统信息函数和加密解密函数(十四)

我看到了那天的夕阳,美得如此骄艳,我便决定,追寻夕阳,拼尽余生。

两个蝴蝶飞 908

AES加密解密,MySQL函数、Oracle自定义函数、Java、C#互通的AES加密解密互通实现

AES加密解密,MySQL函数、Oracle自定义函数、Java、C#互通的AES加密解密互通实现

志在必得的专栏 2320

PHP的几种加密解密算法

PHP的几种加密解密算法 一、开发环境 1、Windows+Apache+MySQL+PHP的环境。 2、文本编辑器:Sublime。 二、主要技术 PHP 三、实验内容与结果 本文主要介绍PHP的几种加密解密技术。主要有md5、crypt、sha1、base64_encode(base64_decode)、urlencode(urldecode)还有一种自定义的数字加密算法。下面主

小小梦想家 1万+

加密解密,MySQL单行函数,数学函数字符串日期时间,流程控制,完整详细可收藏查询SQL

文章目录1、函数的理解2、数值函数2.1 基本函数2.2 角度与弧度2.3 三角函数2.4 指数与对数2.5 进制转换3、字符串函数4. 日期和时间函数4.1 获取日期时间4.2 日期与时间戳4.3 月份星期天数等4.4 日期的操作4.5 时间和秒钟4.6 计算日期和时间4.7 格式化与解析5、流程控制函数6、加密与解密函数7、MySQL信息函数8、其他函数 1、函数的理解 1.1 什么是函数 函数在计算机语言的使用中贯穿始终,函数的作用是什么呢?它可以把我们经常使用的代码封装起来,需要的时候直接调用即可

叶绿体不忘呼吸 3722

MySQl数据库使用AES加密解密配Java代码使用

MySQl数据库加密解密 待加密字段varchar INSERT INTO base_info(id,school_db_host) VALUES('1111254',HEX(AES_ENCRYPT(('hsot:/10.31.46.109'),'coco') )); SELECT AES_DECRYPT(UNHEX(school_db_host), 'coco') FROM base_info; 待加密字段varbinary INSERT INTO base_info(id,school_db_

本人拙笔,记录一些开发、面试中的笔记,希望能帮到你。 2753

mysql加密函数

MySQL的加密和解密函数个人分为两类: 1.只支持正向加密不支持反向解密的函数: MD5()、SHA1()|SHA()、SHA2() 针对此类加密的算法MySQL不提供解密, 但是我们可以通过网站 http://www.cmd5.com/ 反向解密。 改网站支持MD5、SHA、SHA256、SHA512等解密。 2.支持加密和解密的函数: COMPRESS(),UNCOMPRESS():普...

xinyuan的专栏 8629
上一篇: java技术面试
下一篇: 加密的工具类SecurityUtil
hit、run
博客等级 码龄10年 163粉丝 157原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值