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

質問編集履歴

2

例の追加

2016/12/09 02:20

投稿

katsukihi
katsukihi

スコア10

title CHANGED
File without changes
body CHANGED
@@ -9,4 +9,19 @@
9
9
  var_dump($tmp3); echo "<br>";
10
10
  ```
11
11
 
12
- 以上のようにすると、`$tmp2`が`0gooog08osgg8kgg44cc4s44c4kkkcwc…`のように特定の文字しか出ない、偏った値になります。`$tmp3`に至っては0が並んでいるだけです(`$tmp`と同じになるはずですよね)。何が原因なのか全く分かりません。うまく0-9a-zまで使われるようにするためにはどうすれば良いのでしょうか?よろしくお願いします。
12
+ 以上のようにすると、`$tmp2`が`0gooog08osgg8kgg44cc4s44c4kkkcwc…`のように特定の文字しか出ない、偏った値になります。`$tmp3`に至っては0が並んでいるだけです(`$tmp`と同じになるはずですよね)。何が原因なのか全く分かりません。うまく0-9a-zまで使われるようにするためにはどうすれば良いのでしょうか?よろしくお願いします。
13
+
14
+ 追記
15
+ ```PHP
16
+ $tmp = bin2hex(openssl_random_pseudo_bytes(8)); // 短くしました
17
+ var_dump($tmp); echo "<br>";
18
+ $tmp2= base_convert($tmp,16,36);
19
+ var_dump($tmp2); echo "<br>";
20
+ $tmp3 = base_convert($tmp2,36,16);
21
+ var_dump($tmp3); echo "<br>";
22
+ ```
23
+ 結果
24
+ string(16) "ae130497bdec2f94"
25
+ string(13) "2nar3567tdusw"
26
+ string(16) "ae130497bdec3800"
27
+ どうやら短い場合でも最後の方が合わなくなるみたいです。

1

\$tmp3の部分に補足

2016/12/09 02:20

投稿

katsukihi
katsukihi

スコア10

title CHANGED
File without changes
body CHANGED
@@ -9,4 +9,4 @@
9
9
  var_dump($tmp3); echo "<br>";
10
10
  ```
11
11
 
12
- 以上のようにすると、`$tmp2`が`0gooog08osgg8kgg44cc4s44c4kkkcwc…`のように特定の文字しか出ない、偏った値になります。`$tmp3`に至っては0が並んでいるだけです。何が原因なのか全く分かりません。うまく0-9a-zまで使われるようにするためにはどうすれば良いのでしょうか?よろしくお願いします。
12
+ 以上のようにすると、`$tmp2`が`0gooog08osgg8kgg44cc4s44c4kkkcwc…`のように特定の文字しか出ない、偏った値になります。`$tmp3`に至っては0が並んでいるだけです(`$tmp`と同じになるはずですよね)。何が原因なのか全く分かりません。うまく0-9a-zまで使われるようにするためにはどうすれば良いのでしょうか?よろしくお願いします。