邮箱存数据库选用哪种加密方案?

1. 问题描述

想要加密保存用户的邮箱,因为其他业务会读取邮箱,所以需要可逆的加密方式
还需要能去重。请教下大佬们有没有好的方案推荐,或者说最佳实践?

看了下面这个方法似乎不太合适,生成的字符串太长,不能作为唯一识别

// 生成的加密字符串为了防篡改带了签名,每次加密都会改变,如果想要去重还需要单独加个字段存唯一标识
Crypt::encryptString();
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

AES-128-CBCAES-256-CBC且使用固定的key和iv

  1. 同一字符串多次加密后的密文相同(方便去重和查询)
  2. 密文相对较短(相较其它加密方案)
1年前 评论
tomcath (楼主) 1年前
讨论数量: 9

对称加密算法皆可。例如DES。

1年前 评论
tomcath (楼主) 1年前
xiaochong0302

一般加密后都会比较长,你搞个中间表呗

1年前 评论

AES-128-CBCAES-256-CBC且使用固定的key和iv

  1. 同一字符串多次加密后的密文相同(方便去重和查询)
  2. 密文相对较短(相较其它加密方案)
1年前 评论
tomcath (楼主) 1年前

即使使用对称加密,后期如果需要改秘钥就麻烦了。可以邮箱字段md5加密,冗余一个字段(或者加一个中间表)保存邮箱原始数据

1年前 评论
tomcath (楼主) 1年前
╰ゝSakura

其他业务会读取邮箱,不应该统一从你提供的服务出去嘛,你在服务里面做脱敏啊,大佬

1年前 评论
tomcath (楼主) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!