Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

金融敏感数据加密。姓名加解密,身份证加解密,邮箱加解密,手机加解密,银行卡加解密,银行卡加解密。

License

NotificationsYou must be signed in to change notification settings

houbb/encryption-local

Repository files navigation

encryption-local 一个离线版本的金融敏感信息加解密工具,用于数据库敏感信息存储。

创作目的:为金融敏感数据,提供一个简单易用的离线加解密工具。加密机服务可以在此基础上很容易的实现。

Maven CentralBuild StatusCoverage Status

特性

  • 身份证加解密

  • 地址加解密

  • 姓名加解密

  • 邮箱加解密

  • 手机号加解密

  • 银行卡加解密

  • 密码加解密

项目推荐

下面是一些日志、加解密、脱敏安全相关的库推荐:

项目介绍
sensitive-word高性能敏感词核心库
sensitive-word-admin敏感词控台,前后端分离
sensitive高性能日志脱敏组件
auto-log统一日志切面组件,支持全链路traceId
encryption-local离线加密机组件
encryption加密机标准API+本地客户端
encryption-server加密机服务

拓展阅读

【老马】离线版金融敏感信息加解密组件开源项目encryption-local

【藏经阁】加密机服务完整解决方案,包含客户端+服务端

变更日志

变更日志

快速开始

需要

jdk1.7+

maven 3.x+

maven 引入

<dependency>    <groupId>com.github.houbb</groupId>    <artifactId>encryption-local-core</artifactId>    <version>1.2.0</version></dependency>

方法概览

常见方法都在EncryptionLocalUtil#xxx 工具类中可见。

加密

方法说明
addressEncrypt地址加密
nameEncrypt姓名加密
emailEncrypt邮箱加密
phoneEncrypt手机号加密
idCardEncrypt身份证加密
bankCardNoEncrypt银行卡加密
passwordEncrypt密码加密

统一入参:(text, salt) text 为待加密的内容, salt 为秘钥。v1.1.0 支持不带 salt 的方法。

统一出参:CommonEncryptResponse 对象,有 3 个属性:

属性说明
cipher密文
mask掩码
hash摘要

解密

方法说明
addressDecrypt地址解密
nameDecrypt姓名解密
emailDecrypt邮箱解密
phoneDecrypt手机号解密
idCardDecrypt身份证解密
bankCardNumDecrypt银行卡解密
passwordDecrypt密码解密

统一入参:cipher 为加密之后的密文字符串

统一出参:解密之后的明文字符串

使用

用法都是类似的,此处以手机号为例:

finalStringemail ="18888888888";finalStringsalt ="99886622";CommonEncryptResponseresponse =EncryptionLocalUtil.phoneEncrypt(email,salt);Stringcipher =response.getCipher();Stringmask =response.getMask();Stringhash =response.getHash();Assert.assertEquals("08276740AEC8AAC11C6D0F84184DE2B5",cipher);Assert.assertEquals("188****8888",mask);Assert.assertEquals("381FA900C0626D7D7E2DB185B3558166",hash);// 解密Stringplain =EncryptionLocalUtil.phoneDecrypt(cipher,salt);Assert.assertEquals(email,plain);

其他的各种数据效果示例整理如下,秘钥统一使用99886622

注意:生产环境使用,必须保证秘钥的复杂性(建议不低于 10 位)

类别明文秘文掩码摘要
地址太平洋比基尼海滩比奇堡镇贝壳街124号的波萝屋D8D9E99FB8286107C2F75325C0B9046CF335EE4AC4FCD3F27E0D6BFD8B3DBF39440A3D69422A3AF933576798CF3860F330F288E196CEACB22CCCDA0623B94355太平洋比基尼*************的波萝屋31912515337902B8A3CC1CBDB5772358
姓名海绵宝宝91AF56071FA8830391144DBEAE3967DA海**宝94B221D98E0EF588B5304A88752DC6C7
邮箱haimian@baobao.com15768CD9C0E70E2C798451E7982C8877DF991568ECD7BC3E1A9E9AD72455B085hai****@baobao.com4C651B4CDACA3CFA4876277B678282A9
手机1888888888808276740AEC8AAC11C6D0F84184DE2B5188****8888381FA900C0626D7D7E2DB185B3558166
身份证33078119850907947974101E0AAF25796680E40F3198D1AEFBC00E25FD8316F40CE90B425338894A42330781*********4792C7E7A814C36DE11EF01F39C35CECF12
银行卡4427290920309717288D5EC5432203677D3714E9A270F9998AC04BF65E5A36C6773187A4239D05EE442729******9717DE550BAF362B3EF640FF5AEC7D6E2F38
密码1234568B208237BEB2E6A4390E7128E5E000D7******FEB408A10822A55A939E8E38A6612515

完整例子参考EncryptionLocalUtilTest.java

引导类

为了便于用于拓展,加密支持通过引导类EncryptionLocalBs 灵活指定配置。

配置

EncryptionLocalBs 中支持用户自定义下列配置。

属性说明默认值
salt秘钥null
hash哈希策略md5
secret加密策略aes

在指定秘钥之后,其他方法不再需要传递秘钥。

方法和工具类中一致。

例子

EncryptionLocalBslocalBs =EncryptionLocalBs.newInstance();// 加密CommonEncryptResponseencryptResponse =localBs.encrypt("123456",EncryptTypeEnum.PASSWORD.getCode());Assert.assertEquals("CommonEncryptResponse{cipher='8B208237BEB2E6A4390E7128E5E000D7', mask='******', hash='FEB408A10822A55A939E8E38A6612515'}",encryptResponse.toString());// 解密StringplainText =localBs.decrypt(encryptResponse.getCipher(),EncryptTypeEnum.PASSWORD.getCode());Assert.assertEquals("123456",plainText);

ROAD-MAP

  • 允许用户自定义实现策略

  • 基于注解的属性映射

@Address

_cipher _mask _hash

数据库写入的正向处理,读取的反向处理

About

金融敏感数据加密。姓名加解密,身份证加解密,邮箱加解密,手机加解密,银行卡加解密,银行卡加解密。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp