Ruby でバイナリ生成 -> DES 暗号化 -> Base64 エンコード
Javascript で受け取って Base64 デコード -> DES 復号化
しようとしたのですが失敗しました。どうすれば良いでしょうか
最終的に DES 復号処理で正しい文字列が得られなかった という事だけわかっています。
-- 手順 --
Javascript: キーをパラメータにしてGETリクエストを送る
↓
Ruby: バイナリを生成 -> キーで DES暗号化 -> Base64エンコードして返す
↓
Javascript: 受け取った値を Base64デコード -> キーで DES復号化する -> バイナリ取得完了
ruby
1def encrypt_des(text,onetimekey) 2 3 enc = OpenSSL::Cipher::DES.new 4 enc.encrypt 5 enc.pkcs5_keyivgen(onetimekey) 6 a = enc.update(text) 7 b = enc.final 8 return a + b 9 10end
javascript
1 2var otk = 'hogehoge'; 3var url = 'https://hoge?otk=' + otk; 4var xhr = new XMLHttpRequest(); 5 6xhr.onreadystatechange = function() { 7 if(xhr.readyState === 4 && xhr.status === 200) { 8 9 // Base64 デコード 10 11 des = window.atob(xhr.response); 12 13 // DES 復号化 ( des.js ) 14 15 res = des_decrypt(otk, des); 16 } 17}; 18 19xhr.open('GET', url, true); 20xhr.responseType = 'text'; 21xhr.send(null);
あなたの回答
tips
プレビュー