首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >使用mysql函数在云端安全的储存密码

使用mysql函数在云端安全的储存密码

作者头像
overme
发布2022-01-15 12:17:58
发布2022-01-15 12:17:58
2.1K00
代码可运行
举报
文章被收录于专栏:数据开发笔记数据开发笔记
运行总次数:0
代码可运行

Mysql

场景

因为大学时期接触社工库比较多,一直不敢一码通怕被撞库,短信验证码来随机设置密码。下次要用时再手机号找回,重新设置。

最近重装系统次数有点多,密码找回有点崩溃,于是决定把密码加密一下放在云端数据库。

这样就算数据库被拖也不怕密码丢失了。

创建密码存放表
代码语言:javascript
代码运行次数:0
运行
复制
CREATE TABLE `user_info`  (
  `sys` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL
) ;
创建插入函数SAVE_PWD
代码语言:javascript
代码运行次数:0
运行
复制
CREATE DEFINER=`root`@`%` PROCEDURE `SAVE_PWD`(IN `sys` VARCHAR(25),IN `username` VARCHAR(25),IN `pwd` VARCHAR(25),IN `srckey` VARCHAR(25))
BEGIN
if srckey = '' then 
    set srckey:=sys;
    end if;
        insert user_info select sys,HEX(AES_ENCRYPT(username, srckey)) , HEX(AES_ENCRYPT(pwd, srckey));
END

入参:

  • sys为系统
  • username为账户
  • pwd为密码
  • srckey为密钥

运行:

查看插入的数据:

创建查询函数
代码语言:javascript
代码运行次数:0
运行
复制
CREATE DEFINER=`root`@`%` PROCEDURE `QRY_PWD`(IN `srckey` VARCHAR(25))
BEGIN
if srckey = '' then 
    set srckey:=null
    ;
    end if;
select `t`.`sys` AS `sys`,aes_decrypt(unhex(`t`.`key`),IFNULL(srckey,t.sys)) AS `key`,aes_decrypt(unhex(`t`.`value`),IFNULL(srckey,t.sys)) AS `value` from `user_info` `t`;
END

运行:

查询数据:

结果

可以插入的时候不选择加密参数 那么查询的时候也可以不用加密参数,不过建议加密钥就算进入数据库,不知道密钥也解不开数据。

本站文章除注明转载/出处外,均为本站原创,转载前请务必署名,转载请标明出处

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 场景
  • 创建密码存放表
  • 创建插入函数SAVE_PWD
  • 创建查询函数
  • 结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档