teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

誤字修正、

2018/02/13 10:39

投稿

Pccla
Pccla

スコア35

title CHANGED
File without changes
body CHANGED
@@ -7,15 +7,15 @@
7
7
  セキュリティ的に安全であれば他の方法でも構いませんので、どこが原因かご教示いただけると幸いです!!
8
8
 
9
9
  JS側での暗号化
10
- ```
10
+ ```lang-javaScript
11
11
  // 暗号化用パス
12
12
  var secretPass = CryptoJS.enc.Utf8.parse('pass');
13
13
  // ランダム値生成してsaltを設定
14
- var salt = CryptoJS.lib.WordArray.random(128 / 8);
14
+ var salt = CryptoJS.lib.WordArray.random(128 / 16);
15
15
  // 暗号化で使うキーを設定(先ほど作ったsecretPassとsaltを使用)
16
- var key = CryptoJS.PBKDF2(secretPass, salt, {keySize: 128 / 8, iterations: 1000 });
16
+ var key = CryptoJS.PBKDF2(secretPass, salt, {keySize: 128 / 16, iterations: 1000 });
17
17
  //初期化ベクトル
18
- var iv = CryptoJS.lib.WordArray.random(128 / 8);
18
+ var iv = CryptoJS.lib.WordArray.random(128 / 16);
19
19
  //暗号化オプション(IV:初期化ベクトル, CBCモード, パディングモード:PKCS7)
20
20
  var options = {iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7};
21
21
  //暗号化内容のエンコーディングは「UTF-8」
@@ -31,11 +31,15 @@
31
31
  ログを出力したところ、返り値は空っぽでした.
32
32
  以下PHPの復号メソッドで、引数自体は渡ってきてます.
33
33
 
34
- $encData : yWvjtqSQKl8kzJwgeri%2BtA%3D%3D
34
+ ~~$encData : yWvjtqSQKl8kzJwgeri%2BtA%3D%3D
35
35
  $iv : 49bb573d407b4b64d20445f0c4b20279
36
- $key : bcbc43c15b482e4579529039ecbd32345b2f462f796f904a0eceffed93d5186da7f609c40a303f497a68615e14474b5f73f7f66bb80df298d5918fc1a9120eec
36
+ $key : bcbc43c15b482e4579529039ecbd32345b2f462f796f904a0eceffed93d5186da7f609c40a303f497a68615e14474b5f73f7f66bb80df298d5918fc1a9120eec~~
37
37
 
38
+ $encData : bnqTjLlAWs0aAZZkX7kZnw==
39
+ $iv : 682efaee374ec613
40
+ $key : 5b4076f60e3fb3a0649a5fcf1fb71e551f634a5017b6d529cffc65c06eb34724
41
+
38
- ```
42
+ ```lang-php
39
43
  public function decData( $encData, $iv, $key ){
40
44
  $decData = '';
41
45
  // 復号に使うメソッド
@@ -44,8 +48,9 @@
44
48
  $options = 'OPENSSL_RAW_DATA';
45
49
 
46
50
  // 復号
47
- //$decData = openssl_decrypt(pack("H*", $encData), $method, $key, $params['options'], $iv);
51
+ //$decData = openssl_decrypt(pack("H*", $encData), $method, $key, $options, $iv);
52
+ $urlDecodeEncData = urldecode($encData);
48
- $decData = openssl_decrypt($urlDecodeEncData, $params['method'], $ky, $params['options'], $iv);
53
+ $decData = openssl_decrypt($urlDecodeEncData, $method, $ky, $options, $iv);
49
54
 
50
55
  $this->log('復号処理結果', LOG_INFO);
51
56
  // 以下のログは空っぽでした

1

復号処理の変更

2018/02/13 10:39

投稿

Pccla
Pccla

スコア35

title CHANGED
File without changes
body CHANGED
@@ -44,7 +44,8 @@
44
44
  $options = 'OPENSSL_RAW_DATA';
45
45
 
46
46
  // 復号
47
- $decData = openssl_decrypt(pack("H*", $encData), $method, $key, $params['options'], $iv);
47
+ //$decData = openssl_decrypt(pack("H*", $encData), $method, $key, $params['options'], $iv);
48
+ $decData = openssl_decrypt($urlDecodeEncData, $params['method'], $ky, $params['options'], $iv);
48
49
 
49
50
  $this->log('復号処理結果', LOG_INFO);
50
51
  // 以下のログは空っぽでした