爲何須要加密
- 這是一套完整的帳號信息管理體系,不一樣崗位不一樣職責,也就是承擔不一樣的責任。
- 好比在小程序開發過程當中,不少公司都會把 appId、appSecret 直接賠償成明文的,當有員工離職時很難進行管理【貌似只有重置才行】
- 對於比較核心的帳號 要有專人管理,每一個人都有本身的職責,看該看的東西【不一樣團隊需求不一樣】
遇到過最奇葩的事情
- 有個工程師從一家公司離職1年多,1年多事後竟然還能鏈接上前公司生產的數據庫,還能進行操做【真的好可怕。。。】
- 暴露核心參數,有員工故意詆譭老東家【傷敵一千自損八百】。
核心關注問題
jasypt.encryptor.password能夠泄漏嗎?
例子中jasypt.encryptor.password配置在配置文件中不就等於泄漏了嗎?
- 是這樣的,須要在流程上進行控制.springboot打包時千萬不要把jasypt.encryptor.password打入jar包內.
在公司具體的流程多是這樣的:
- 運維人員持有jasypt.encryptor.password,加密原文得到密文
- 運維人員將密文發給開發人員
- 開發人員在配置文件中只配置密文,不配置jasypt.encryptor.password
- 運維人員啓動應用時再配置jasypt.encryptor.password
其餘
jdk 1.8 加密:
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI password=c3d75d53c04b4b7f9984794254c48fe6 algorithm=PBEWithMD5AndDES ivGeneratorClassName=org.jasypt.iv.RandomIvGenerator input=123456