关于格式保留加密(FPE)特定格式需求实现的技术问询
关于格式保留加密(FPE)特定格式需求实现的技术问询
你完全说对了,你的理解一点都没错!
咱们一个个理清楚:
关于固定位置分隔符的保留需求
- FPE的「格式保留」核心是保持字符集和整体长度一致,但它并不会识别并保留字符串中固定位置的特定字符(比如卡号里的
-或空格)。如果把分隔符加入加密用的字母表,FPE会把它当成普通字符参与加密,加密后它的位置是随机变化的,根本不会留在原来的位置上。 - 要实现「分隔符位置不变,仅加密数字」的需求,必须在FPE加密前后做一层字符串处理:比如先提取出所有数字单独进行FPE加密,再把加密后的数字按照原字符串的分隔符位置重新插入回去;解密时也是先提取加密后的数字段,解密完成后再还原原来的分隔符格式。
关于保留前四位数字不加密的需求
- 这也不在FPE的原生功能覆盖范围内,你需要自行处理逻辑:比如把卡号拆成两部分,前四位明文直接保留,后面的数字单独提取出来做FPE加密,最后把两部分拼接成最终的加密结果;解密时同样先拆分字符串,只对后面的加密数字段进行解密,再和前四位明文拼接还原。
备注:内容来源于stack exchange,提问作者Raster R
相关产品推荐
相关产品推荐

