回答編集履歴
5
a
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
鍵長を調整するだけですね。
|
1
|
+
鍵長を調整するだけですね。また今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。**PHPのOpenSSL関数群は鍵長を自動調整してくれるようです。**
|
2
2
|
|
3
3
|
```ruby
|
4
4
|
require 'openssl'
|
4
a
answer
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
$secret_key = 'パスワードパスワード'; # 任意の鍵
|
25
25
|
$iv = "\x00\x01\x02\x03\x04\x05\x06\x07"; # 8バイトの初期化ベクトル
|
26
26
|
|
27
|
-
echo openssl_encrypt($target, '
|
27
|
+
echo openssl_encrypt($target, 'bf-cbc', $secret_key, 0, $iv); # => IbcSE/32Ed/DlW/88UxrmQ==
|
28
28
|
```
|
29
29
|
|
30
30
|
Rubyの実装がPHPよりもイケてないのはわりと珍しいですね
|
3
a
answer
CHANGED
@@ -6,11 +6,11 @@
|
|
6
6
|
|
7
7
|
target = '平文平文' # 任意のデータ
|
8
8
|
secret_key = 'パスワードパスワード' # 任意の鍵
|
9
|
-
iv = "\x00\x01\x02\x03\x04\x05\x06\x07" # 8バイトの
|
9
|
+
iv = "\x00\x01\x02\x03\x04\x05\x06\x07" # 8バイトの初期化ベクトル
|
10
10
|
|
11
11
|
cipher = OpenSSL::Cipher::BF.new(:CBC)
|
12
12
|
cipher.encrypt
|
13
|
-
cipher.key_len = secret_key.bytesize #
|
13
|
+
cipher.key_len = secret_key.bytesize # 【ここがポイント】
|
14
14
|
cipher.key = secret_key
|
15
15
|
cipher.iv = iv
|
16
16
|
|
@@ -20,9 +20,9 @@
|
|
20
20
|
```php
|
21
21
|
<?php
|
22
22
|
|
23
|
-
$target = '平文平文';
|
23
|
+
$target = '平文平文'; # 任意のデータ
|
24
|
-
$secret_key = 'パスワードパスワード';
|
24
|
+
$secret_key = 'パスワードパスワード'; # 任意の鍵
|
25
|
-
$iv = "\x00\x01\x02\x03\x04\x05\x06\x07";
|
25
|
+
$iv = "\x00\x01\x02\x03\x04\x05\x06\x07"; # 8バイトの初期化ベクトル
|
26
26
|
|
27
27
|
echo openssl_encrypt($target, 'blowfish', $secret_key, 0, $iv); # => IbcSE/32Ed/DlW/88UxrmQ==
|
28
28
|
```
|
2
a
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
鍵長を調整するだけですね。**PHPは気を利かして鍵長を自動設定してくれるようです。**
|
1
|
+
鍵長を調整するだけですね。**PHPは気を利かして鍵長を自動設定してくれるようです。**あと今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。
|
2
2
|
|
3
3
|
```ruby
|
4
4
|
require 'openssl'
|
1
a
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
鍵長を調整するだけですね。**PHPは気を利かして鍵長を自動設定してくれるようです。**勝手にあと今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。
|
2
2
|
|
3
3
|
```ruby
|
4
4
|
require 'openssl'
|