基本的にこれを行うクイックライブラリまたはソリューションを誰かが知っているかどうか疑問に思っていました。
code({ json: 1 }) -> codedsecret
decode(codedSecret) -> { json: 1 }
基本的に、JSON を、セキュリティ上の理由からほとんどの人が理解できないエンコードされた文字列に変換する方法を探しています。
基本的にこれを行うクイックライブラリまたはソリューションを誰かが知っているかどうか疑問に思っていました。
code({ json: 1 }) -> codedsecret
decode(codedSecret) -> { json: 1 }
基本的に、JSON を、セキュリティ上の理由からほとんどの人が理解できないエンコードされた文字列に変換する方法を探しています。
「ほとんどの人」が卑劣でない開発者を意味する場合、base64 でおそらく十分です。最新のブラウザーはbtoa
and atob
(双方向) を実装する必要がありますが、互換性をさらに高める必要がある場合に備えて、ライブラリが用意されています。
var secret = btoa(JSON.stringify({json: 1}));
JSON.parse(atob(secret)); // {json: 1}
これは暗号化セキュリティをまったく提供せず、base64 文字列を視覚的に認識してデコードすることさえできる開発者によって簡単にクラックされます。これら 2 つの状況をカバーする必要がある場合は、クライアントと通信する前にサーバー側で暗号化することを検討する必要があります。JavaScript 用の OpenSSL 実装がありますが、どれだけ信頼できるかわかりません。