Springブートはプロパティファイルを使用します。少なくともデフォルトでパスワードはプレーンテキストです。どういうわけかこれらを隠す/解読することは可能ですか?Springブートプロパティファイルのパスワードを隠す方法
答えて
あなたはこのようにあなたの財産を持っていることができるように、プロパティを暗号化するためにJasyptを使用することができます。
db.password=ENC(XcBjfjDDjxeyFBoaEPhG14wEzc6Ja+Xx+hNPrJyQT88=)
Jasyptあなたが暗号化されたプロパティを得れば、あなたが内側に入れて、あなたは異なるアルゴリズムを使用してプロパティを暗号化することができますENC(...)
。たとえば、あなたは、端末を使用してJasyptを通じて、このように暗号化することができます。
encrypted-pwd$ java -cp ~/.m2/repository/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="contactspassword" password=supersecretz algorithm=PBEWithMD5AndDES
----ENVIRONMENT-----------------
Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 24.45-b08
----ARGUMENTS-------------------
algorithm: PBEWithMD5AndDES
input: contactspassword
password: supersecretz
----OUTPUT----------------------
XcBjfjDDjxeyFBoaEPhG14wEzc6Ja+Xx+hNPrJyQT88=
簡単にあなたがそのスターター使用することができます春ブーツでそれを設定するには:あなたがする必要があることを、覚えておいてください
jasypt-spring-boot-starter
を同じパスワードを使用してアプリケーションを起動し、プロパティの暗号化に使用しました。あなたはより多くの詳細については、下のリンクをチェックすることができ
mvn -Djasypt.encryptor.password=supersecretz spring-boot:run
:
https://www.ricston.com/blog/encrypting-properties-in-spring-boot-with-jasypt-spring-boot/
はいつもの、使用としてそれを使用するあなたのアプリで暗号化されたプロパティを使用するので、アプリこの方法を開始することができます方法あなたは(とにかくプロパティは、クラスパスに当然である必要があり、春ブーツワイヤー魔法を)好きのいずれか:
@Value
注釈
@Value("${db.password}")
private String password;
それともEnvironment
@Autowired
private Environment environment;
public void doSomething(Environment env) {
System.out.println(env.getProperty("db.password"));
}
Spring Cloud Config Serverでは、このような動作が可能です。 JCEを使用すると、サーバー上でキーを設定し、それを使ってアプリのプロパティを暗号化できます。
http://cloud.spring.io/spring-cloud-config/spring-cloud-config.html
、あなたのパスワードを非表示にしたい場合は、最も簡単な解決策は、環境変数を使用するようにコード内application.properties
ファイル、または直接です。 application.properties
で
:
コンフィギュレーションクラスのその後mypassword=${password}
:あなたのconfiguration
クラスで
@Autowired
private Environment environment;
[...]//Inside a method
System.out.println(environment.getProperty("mypassword"));
:
@Value("${password}")
private String herokuPath;
[...]//Inside a method
System.out.println(herokuPath);
注:あなたが設定した後に再起動する必要があります環境nt変数。 Windows用の :
は、より多くの情報のため、このDocumentationを参照してください。
を使用して、私は環境VARSにマスターパスワードを設定すると、このような良いアイデアだとは思いません。現在、パスワードは必要以上に公開されています。 フェデリコのようにスタートアップを提供することは、環境に設定するよりも露出が少なく、「安全」です。 – Jaavaaan
あなたが共有のコンピュータを使用している場合、Yaaはそうではありません。しかし、あなたがあなたのコンピュータの唯一の管理者であれば、他のユーザはenv varsを見ることができません。私は隠れている部分と簡単な部分に答えました。しかし、はい、私はフェデリコの提案された方法が良い方法だと思います。 –
- 1. Tkinterのパスワードを隠す方法
- 2. データベースのパスワードを隠す方法は?
- 3. Pythonのパスワード文字を隠す方法
- 4. SoapUIリクエストボディからパスワードを隠す方法
- 5. パスワードをhtml形式で送信すると、PHPのパスワードを隠す方法は?
- 6. yumの設定中にパスワードを隠す方法
- 7. Sensu設定でパスワードを隠す/暗号化する方法は?
- 8. 隠すパスワード文字
- 9. サーブレット使用時にHTTPリクエストでパスワードを隠す方法
- 10. URLからパスワードとユーザー名を隠す方法
- 11. シェルスクリプトでパスワードを隠す
- 12. spring ldapで符号化(SHA)パスワードを実装する方法
- 13. Spring MVCでパスワードを変更する方法
- 14. PHPファイルのmysqlパスワードを隠す
- 15. htmlヘルパーを使用してmvcのパスワード隠しフィールドを表示する方法
- 16. スマートフォンのボリュームを隠し、暗号化し、パスワードで保護する方法は?
- 17. スクロールを隠す方法(オーバーフロー:隠し)?
- 18. プロセスリストからパスワードを隠すには?
- 19. デベロッパーツールで読むことができないようにパスワードを隠す方法
- 20. パスワードを送信する方法SpringのREST APIで休憩中の文字列?
- 21. Spring Security - UsernamePasswordAuthenticationFilterでユーザー名/パスワード以外のカスタムパラメータを追加する方法
- 22. LDAPを呼び出す前にSpring Security MD5パスワードを作成する方法
- 23. Spring Securityセッションのプレーン・テキスト・パスワード
- 24. spring-security.xmlのパスワード変更
- 25. iadを隠す方法
- 26. リボンを隠す方法
- 27. nginxで#を隠す方法
- 28. ボタンを隠す方法
- 29. FOS UserBundleにパスワードを隠しておく
- 30. パスワードの更新時にパスワードの長さをテストする方法
gradle @Frerica Piazza – Johir
を使用して詳しく説明してください.Mavenでの使用については明確ではありません。いくつかの財産を渡し、さらに何を?どこプロパティファイルですか?コード内でこの値をどうやって使うのですか? – gstackoverflow
@gstackoverflow、質問は暗号化/復号化に関連しており、それは春のブートでタグ付けされていますが、意図はプロパティの使用法ではなく暗号化のものを説明することでした。とにかく、私はあなたに詳細を与えるためにこの答えを編集することができます。その間、Springはこれを完全に透過的に使用し、 '@Values(" db.password ")'でプロパティを挿入するだけです。 "where"はクラスパスだけです。 "それ以上に" ...何もない、春の起動は自動的にすべての魔法を行う –