
为了数据安全,现在客户要求在配置中心里的敏感数据也要加密,
比如一些平台的 AK/SK,微信的 ApiKey 等。
那么配置中心不能直接存明文,只存加密后的字符串。 然后 Java 应用程序里解密后再使用。
大家可有推荐的简单的加解密方法推荐?
1 huangmingyou 2021 年 8 月 11 日 vault |
2 Building 2021 年 8 月 11 日 via iPhone 最简单的: 映射。 |
3 opentrade 2021 年 8 月 11 日 NaCI,也有人向我推荐[SecureChannel]( https://github.com/rustdesk/rustdesk/issues/156),我还没用过。 |
4 RichardYyf 2021 年 8 月 11 日 我们用的是 jasypt,集成在我们的 apollo 组件里面,apollo 中心里面是密文,密文会包装成固定格式,更新配置的时候根据正则判断是否是加密字符串再去解密 |
5 GM 2021 年 8 月 11 日 rc4,加解密一个函数二十行代码搞定,任何流行语言都有实现。 |
6 jorneyr 2021 年 8 月 11 日 SpringBoot 或者 SpringMVC 的话,Jasypt 比较方便,可参考 http://qtdebug.com/spring-boot-jasypt |
7 CrazyRundong 2021 年 8 月 11 日 via iPhone 加密敏感数据挺 tricky 的,需要同时保证数据的秘密性和完整性,即 authenticated encryption (AE) 正确地实现 AE 非常难,楼主可以搜下 Java 下有没有可信赖的现有实现,毕竟密码学的基本原则之一就是不要自己造轮子。我自己之前的玩具项目用的是 Python cryptography 库的 Fernet 实现 |
8 GeruzoniAnsasu 2021 年 8 月 11 日 不要造轮子。 现成的流密码选一个,块密码选一个,非对称选一个,然后直接用现成的密码学库。 基本只有一样事情要思:怎么藏密钥 |
9 skinny 2021 年 8 月 11 日 chacha20poly1305 呗,aes256-gcm 也行 |
10 calming 2021 年 8 月 11 日 直接 AES 一把梭 |
11 qwerthhusn 2021 年 8 月 11 日 直接标准的 AES 就行了啊 自己封装个 AES 加解密的方法就行了啊。 |
12 RRRoger 2021 年 8 月 11 日 凯撒加密 |
13 copymaster 2021 年 8 月 11 日 @GeruzoniAnsasu 太对了,密码被破译根本不是我们应该考虑的,我们只需要做好储存密钥,交换密钥这两件事做好那么就算是'绝对安全'了 |
14 sutra 2021 年 8 月 11 日 |
15 zhangxh1023 2021 年 8 月 12 日 那么问题来了,怎么存储这个解密的密钥,直接写死在程序里面吗 |
16 hhjswf 2021 年 8 月 12 日 加密到底是防谁?如果配置中心都被外人捅烂了...,那这也太拉垮了...防自己人,显然也不太能防的住,相当于掩耳盗铃 |
17 Rever1e 2021 年 8 月 12 日 用 aes 加密内容 Vigenere(sha256( 你所想的密码),aes 密钥) 刚好可以一位对一位的偏移 aes 密钥 |
18 a1274598858 2021 年 8 月 12 日 SM4 |
19 zgk 2021 年 8 月 12 日 via iPhone 如果只是加密一段简短的 key 的话,可以直接用 xor 运算,只要密钥比原文长就可以,密钥可以随机生成一段。 加密:密文 = 原文 xor 密钥 解密:原文 = 密文 xor 密钥 原理是 Vernam 密码,参考: https://0xffff.one/d/1043 |