【问题标题】:Own encryption script自己的加密脚本
【发布时间】:2013-01-28 03:37:42
【问题描述】:
<?php
   error_reporting(E_ALL ^ E_NOTICE);
   $string = "123456";
   $replace_from = array(
   "1",
   "2",
   "3",
   "4",
   "5",
   "6");
   $replace_to = array(
   "Al01",
   "Br20",
   "Ch03",
   "De40",
   "Ec05",
   "Fo60");
   $hashed = str_replace($string, $replace_from, $replace_to);
   echo "String: ". $string ."<br>";
   echo "Encrypted: ". $hashed ."<br>";
   echo "<br>";
   print_r($hashed);
?>

我明白了

Encrypted: Array

但我期待

Encrypted: Al01Br20Ch03De40Ec05Fo60

我如何获得哈希作为回报?

【问题讨论】:

  • 附带说明,您为什么要创建自己的加密/哈希函数?
  • 这种尝试是浪费时间,除非你是为了家庭作业或自学。对于生产,您应该使用已经建立的技术
  • 很抱歉,如果您弄错了,我认为您不能也不应该尝试创建一些加密。我还看到这个问题被标记为 [passwords] 所以我希望你不要在生产站点/项目附近的任何地方使用上面的代码。
  • 对任何严重的事情进行自己的加密是错误的。不要这样做。如果将其用于学习练习以外的任何事情,小猫就会死去。
  • 我没有问这样做是否是个好主意。无论如何,我都在问解决方案...您希望它是整个脚本吗?当然不是!我改变了数组...

标签: php arrays encryption hash passwords


【解决方案1】:

你把str_replace()的参数顺序弄错了:

$hashed = str_replace( $replace_from, $replace_to, $string );

正确的顺序是

  1. (数组)要搜索的字符串
  2. (数组)替换
  3. (数组)字符串,其中要替换

【讨论】:

  • 哇,不得不说 PHP API 在这方面与大多数 API 不同。我看到了好处,但它肯定会让我误会。
  • 谢谢你,你救了我的处境。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-08
  • 1970-01-01
  • 2013-05-02
  • 1970-01-01
  • 2021-02-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多