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

質問編集履歴

1

質問の仕方がわるかったので質問文を変更

2019/05/30 06:39

投稿

punineko
punineko

スコア11

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,14 @@
1
+ ### 実現したいこと
1
- 現在Rubyで書かれているものをPHPに置き換えるのですが下記の部分がよくわからず
2
+ RubyのコードをPHPのコードに置き換え
2
- 置き換えに手間取っております。
3
3
 
4
- ```ここに言語を入力
4
+ ### 発生している問題
5
+ PHPで、ruby側にある「cipher = OpenSSL::Cipher.new(CIPHER)」のように暗号オブジェクトを
6
+ 生成したいです。
7
+ ※PHPでOpenssl一覧を検索したのですが、暗号オブジェクトの生成する方法がみつけられませんでした。
8
+
9
+ ### 該当のソースコード
10
+
5
-  # Rubyソース
11
+ ```Ruby
6
12
  CIPHER = 'aes-256-cbc'.freeze
7
13
  DIGEST = 'sha256'.freeze
8
14
  PASS = 'password'.freeze
@@ -37,19 +43,20 @@
37
43
  // @return [String] / Encrypted string
38
44
  function encrypt($str){
39
45
  $salt = openssl_random_pseudo_bytes(8);
40
-
46
+ # ここから※ここ暗号化のサイトを参考にしましたがrubyと方式が違うようです。
41
- $key_data = $password.$salt;
47
+ $key_data = self::password.$salt;
42
48
  $raw_key = md5($key_data, true);
43
49
 
44
- $iv_data = $raw_key.$password.$salt;
50
+ $iv_data = $raw_key.self::password.$salt;
45
51
  $iv = md5($iv_data, true);
46
-
52
+ #ここまでをPHPの置き換え方がわからないです。
47
53
  // 暗号化
48
54
  $encrypted = openssl_encrypt($str, self::CIPHER, $raw_key, OPENSSL_RAW_DATA, $iv);
49
55
  return ( base64_encode("Salted__".$salt.$encrypted) );
50
56
  }
51
57
  ```
52
58
 
59
+
53
60
  同じ動作にしたいのですがRuby、PHPともに専門でない為置き換えるメソッド等が見つけられなかったの
54
61
  ご教示ください。
55
62