在这段PHP代码中可以改进什么?

在这段PHP代码中可以改进什么?,php,encryption,Php,Encryption,这是一个自定义加密库。我对PHP的标准函数库了解不多,我想知道下面的代码是否可以改进。实现应该会产生相同的结果,API应该保持原样,但是让它更像PHP的方法将非常受欢迎 代码 这是一个显示如何使用代码的示例。十六进制编辑器可能对输入/输出有帮助 示例 为了更好的内存效率或更快的执行,应该编辑哪些内容?您可以用以下内容替换isHex函数: function isHex($char) { return strpos("0123456789ABCDEF",strtoupper($ch

这是一个自定义加密库。我对PHP的标准函数库了解不多,我想知道下面的代码是否可以改进。实现应该会产生相同的结果,API应该保持原样,但是让它更像PHP的方法将非常受欢迎

代码




这是一个显示如何使用代码的示例。十六进制编辑器可能对输入/输出有帮助

示例





为了更好的内存效率或更快的执行,应该编辑哪些内容?您可以用以下内容替换isHex函数:

function isHex($char) {
 return strpos("0123456789ABCDEF",strtoupper($char)) > -1;
}
您的hex2bin可能会更好,因为:

function hex2bin($h)
  {
  if (!is_string($h)) return null;
  $r='';
  for ($a=0; $a<strlen($h); $a+=2) { $r.=chr(hexdec($h{$a}.$h{($a+1)})); }
  return $r;
  }
函数hex2bin($h)
{
如果(!is_string($h))返回null;
$r='';

对于($a=0;$a这是一种自定义加密算法还是一种重新实现?如果是前者,你确定它是可靠的吗?使用经过良好测试的算法不是更安全吗?如果是后者,为什么不使用现有的实现呢?两者都是。我发明了该算法,并试图让其他人更容易使用。也许它会在那里得到良好的测试。)能够在其他语言中使用SPICE应该证明对实现这一目标很有帮助。那很有帮助!谢谢!如果你对PHP足够了解并且有时间,请更有经验的程序员重写它将非常感激。只需要重新考虑代码,而不是示例。
function isHex($char) {
 return strpos("0123456789ABCDEF",strtoupper($char)) > -1;
}
function hex2bin($h)
  {
  if (!is_string($h)) return null;
  $r='';
  for ($a=0; $a<strlen($h); $a+=2) { $r.=chr(hexdec($h{$a}.$h{($a+1)})); }
  return $r;
  }