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

回答編集履歴

5

a

2016/11/01 19:09

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -1,4 +1,4 @@
1
- 鍵長を調整するだけですね。**PHPは気を利かして鍵長を自動設定してくれるようです。**あと今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。
1
+ 鍵長を調整するだけですね。また今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。**PHPのOpenSSL関数群は鍵長を自動調整してくれるようです。**
2
2
 
3
3
  ```ruby
4
4
  require 'openssl'

4

a

2016/11/01 19:09

投稿

mpyw
mpyw

スコア5223

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, 'blowfish', $secret_key, 0, $iv); # => IbcSE/32Ed/DlW/88UxrmQ==
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

2016/11/01 18:00

投稿

mpyw
mpyw

スコア5223

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

2016/11/01 17:58

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -1,4 +1,4 @@
1
- 鍵長を調整するだけですね。**PHPは気を利かして鍵長を自動設定してくれるようです。**勝手にあと今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。
1
+ 鍵長を調整するだけですね。**PHPは気を利かして鍵長を自動設定してくれるようです。**あと今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。
2
2
 
3
3
  ```ruby
4
4
  require 'openssl'

1

a

2016/11/01 17:57

投稿

mpyw
mpyw

スコア5223

answer CHANGED
@@ -1,4 +1,4 @@
1
- キー長を調整するだけですね。**PHPは気を利かして鍵長を自動設定してくれるようです。**勝手にあと今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。
1
+ 長を調整するだけですね。**PHPは気を利かして鍵長を自動設定してくれるようです。**勝手にあと今更太古のPEARを使うのも時代錯誤ですし,PHPにもOpenSSL関数群はあるので,そちらを使いましょう。
2
2
 
3
3
  ```ruby
4
4
  require 'openssl'