2

こんにちは、JavaScript RSA 暗号化プロセスを使用していますが、動作しています。

<!DOCTYPE html>
    <html lang="en">
            <head>
            <title></title>
              <script src="jquery-1.7.2.min.js" type="text/javascript"></script>
              <script type="text/javascript" src="base64.js"></script>
              <script type="text/javascript" src="asn1.js"></script>
              <script type="text/javascript" src="jsbn.js"></script>
              <script type="text/javascript" src="prng4.js"></script>
              <script type="text/javascript" src="rng.js"></script>
              <script type="text/javascript" src="rsa.js"></script>
              <script type="text/javascript" src="pemconvert.js"></script>
              <script>
                    function loadpubKey(){
                            var pubkey = "-----BEGIN PUBLIC KEY-----\nMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAPBYvSszUjI5psKM958bHTDb+9NONv3X\nWVIGLR9/Al4j8/mqSDMhwFuu9oEyXl80+Ga2cohEQPpWyxzg3/tfGDUCAwEAAQ==\n-----END PUBLIC KEY-----";
                            $("#publicKey").html(pubkey);
                        }
                    function RSAEncryptData()
                        {
                            var Message = $("#Message_to_Encrypt").val();
                            var pubkey = pem_import($("#publicKey").val());             
                            $("#RSAMessageEncrypted").html(pubkey.encrypt(Message));
                        }
            </script>
            </head>
        <body onload="loadpubKey();">
        <h1>RSA Encryption/Decryption using library From :https://github.com/tao-software/jsrsa</h1>
        <form>
                <strong>Public key         :</strong> <textarea rows="3" cols="100"  id="publicKey"></textarea><br>
                <strong>Message to RSA encrypt :</strong> <textarea rows="3" cols="100"  id="Message_to_Encrypt"></textarea><br>
                <input type="button" value="RSA Encrypt" onclick="RSAEncryptData();">
                <strong>RSA encrypted Message :</strong> <textarea rows="3" cols="100"  id="RSAMessageEncrypted"></textarea><br>
        </form> 
        </body>
    </html>

同じメッセージを使用して暗号化する「暗号化」ボタンを押すたびに、新しい異なる暗号化された値が取得されます。この暗号化で同じメッセージを使用しても同じ暗号化結果が得られるようにするにはどうすればよいですか?

実際にやりたいのは、RSAを使用して公開鍵でいくつかの電話番号を暗号化し、それらをテーブルに保存した後、RSAで同じ公開鍵を使用してプロセスを通過する電話番号を暗号化し、調べます一致する場合はテーブル。

上記のスクリプトでは、同じ電話番号を複数回暗号化しても一致するものは見つかりません。そのため、同じ電話番号を暗号化するときに結果が同じになるようにしたいと考えています。どんなアイデアでも大歓迎です。

前もって感謝します。

4

2 に答える 2

1

Greg がコメントで述べているように、PKCS #1 パディングのランダム性により、暗号化された結果が毎回異なります。

ユースケースに基づいて、暗号化されたデータと一緒に電話番号のハッシュを保存することをお勧めします. その後、ハッシュに基づいてクイック ルックアップを実行できます。ハッシュする前に電話番号をソルトしたい場合があります。

ハッシュが一意であるとは限らないことに注意してください。そのため、2 つのハッシュが衝突する可能性はごくわずかです。

于 2013-01-21T11:20:48.200 に答える
-1

秘密鍵を使用してメッセージに署名し、他の人公開鍵を使用して署名を検証してもらいたいようです。RSASignメソッドとRSAVerifyメソッドを提供するためにリンクしたライブラリは、おそらくインスタンスのメソッドsignverifyメソッドの下にありRSAKeyます。私はJSプログラマーではないので、私が言えるのはそれがどのように見えるかということだけです。

于 2013-01-20T19:34:13.877 に答える