ソースを参照

Stronger server salt

ZeroBin now generates a much stronger salt. This fixes issue #68
(mentioned in section 2.1 of https://defuse.ca/audits/zerobin.htm)

(cherry picked from commit a24212afda90ca3e4b4ff5ce30d2012709b58a28)

Conflicts:
	lib/serversalt.php
	lib/vizhash16x16.php
Sebastien SAUVAGE 12 年 前
コミット
e7feca0e53
1 ファイル変更9 行追加2 行削除
  1. 9 2
      lib/serversalt.php

+ 9 - 2
lib/serversalt.php

@@ -39,8 +39,15 @@ class serversalt extends persistence
     public static function generate()
     public static function generate()
     {
     {
         $randomSalt = '';
         $randomSalt = '';
-        for($i=0; $i<16; ++$i) {
-            $randomSalt .= base_convert(mt_rand(), 10, 16);
+        if (function_exists('mcrypt_create_iv'))
+        {
+            $randomSalt = bin2hex(mcrypt_create_iv(256, MCRYPT_DEV_URANDOM));
+        }
+        else // fallback to mt_rand()
+        {
+            for($i = 0; $i < 16; ++$i) {
+                $randomSalt .= base_convert(mt_rand(), 10, 16);
+            }
         }
         }
         self::$_salt = $randomSalt;
         self::$_salt = $randomSalt;
         return self::$_salt;
         return self::$_salt;