質問編集履歴
2
誤字修正、
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 /
|
14
|
+
var salt = CryptoJS.lib.WordArray.random(128 / 16);
|
15
15
|
// 暗号化で使うキーを設定(先ほど作ったsecretPassとsaltを使用)
|
16
|
-
var key = CryptoJS.PBKDF2(secretPass, salt, {keySize: 128 /
|
16
|
+
var key = CryptoJS.PBKDF2(secretPass, salt, {keySize: 128 / 16, iterations: 1000 });
|
17
17
|
//初期化ベクトル
|
18
|
-
var iv = CryptoJS.lib.WordArray.random(128 /
|
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, $
|
51
|
+
//$decData = openssl_decrypt(pack("H*", $encData), $method, $key, $options, $iv);
|
52
|
+
$urlDecodeEncData = urldecode($encData);
|
48
|
-
$decData = openssl_decrypt($urlDecodeEncData, $
|
53
|
+
$decData = openssl_decrypt($urlDecodeEncData, $method, $ky, $options, $iv);
|
49
54
|
|
50
55
|
$this->log('復号処理結果', LOG_INFO);
|
51
56
|
// 以下のログは空っぽでした
|
1
復号処理の変更
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
|
// 以下のログは空っぽでした
|