2

基本的にこれを行うクイックライブラリまたはソリューションを誰かが知っているかどうか疑問に思っていました。

code({ json: 1 }) -> codedsecret

decode(codedSecret) -> { json: 1 }

基本的に、JSON を、セキュリティ上の理由からほとんどの人が理解できないエンコードされた文字列に変換する方法を探しています。

4

1 に答える 1

6

「ほとんどの人」が卑劣でない開発者を意味する場合、base64 でおそらく十分です。最新のブラウザーはbtoaand atob(双方向) を実装する必要がありますが、互換性をさらに高める必要がある場合に備えて、ライブラリが用意されています。

var secret = btoa(JSON.stringify({json: 1}));
JSON.parse(atob(secret)); // {json: 1}

これは暗号化セキュリティをまったく提供せず、base64 文字列を視覚的に認識してデコードすることさえできる開発者によって簡単にクラックされます。これら 2 つの状況をカバーする必要がある場合は、クライアントと通信する前にサーバー側で暗号化することを検討する必要があります。JavaScript 用の OpenSSL 実装がありますが、どれだけ信頼できるかわかりません。

于 2013-04-03T23:32:06.767 に答える