SpringBoot配置文件加密jasypt【數據庫配置加密、redis配置加密、核心參數加密】

爲何須要加密

  • 這是一套完整的帳號信息管理體系,不一樣崗位不一樣職責,也就是承擔不一樣的責任。
  • 好比在小程序開發過程當中,不少公司都會把 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
相關文章
相關標籤/搜索