24) return false; if (strlen($decoded['salt']) > 14) return false; // Make sure some fields contain no unsupported values. if (!(is_int($decoded['v']) || is_float($decoded['v'])) || (float) $decoded['v'] < 1) return false; if (!is_int($decoded['iter']) || $decoded['iter'] <= 100) return false; if (!in_array($decoded['ks'], array(128, 192, 256), true)) return false; if (!in_array($decoded['ts'], array(64, 96, 128), true)) return false; if (!in_array($decoded['mode'], array('ccm', 'ocb2', 'gcm'), true)) return false; if ($decoded['cipher'] !== 'aes') return false; // Reject data if entropy is too low if (strlen($ct) > strlen(gzdeflate($ct))) return false; return true; } }