0
悪い従業員が盗んだ場合、ユーザーを偽装する可能性があります。
ハードコードされていない場合は、どこに置くか?
私はJWT認証を実装しようと考えています。HMACの秘密鍵はハードコードされていないはずですか?
悪い従業員が盗んだ場合、ユーザーを偽装する可能性があります。
ハードコードされていない場合は、どこに置くか?
私はJWT認証を実装しようと考えています。HMACの秘密鍵はハードコードされていないはずですか?
HMAC秘密鍵はプレーンテキストです。任意の非公開/秘密のテキストとして、(ハードコードの)テキストを単純/単純文字列として保存しないようにする必要があります。これは、逆アセンブルを使用して明らかにできるためです。
はい、秘密鍵をどうにかして難読化し、少なくとも単純なテキスト変換を行うのは良いことです。一般に、どのような種類の変換も選択できます。
変換のためにエンコード/デコードを使用する方法の1つです。秘密鍵は、エンコードされた文字列としてソースに格納され、実行時に必要なときにデコードされます。 「i」は任意のランダムな値である、
static String stringTransform(String s, int i) {
char[] chars = s.toCharArray();
for(int j = 0; j<chars.length; j++)
chars[j] = (char)(chars[j]^i);
return String.valueOf(chars);
}
この機能は、暗号化と復号化の両方に使用する必要があります。たとえば、あなたは、Googleが提案XOR暗号化を使用することができます。