php - 如何从字符串末尾删除退格字符?

标签 php

从字面上看,我正在为此自杀。这应该是一件小事,但我已经花了大约几个小时在这上面。

function ssl_encrypt($pass, $data) {

    $salt = substr(md5(mt_rand(), true), 8);

    $key = md5($pass . $salt, true);
    $iv = md5($key . $pass . $salt, true);

    $ct = mcrypt_encrypt (MCRYPT_RIJNDAEL_128, $key, $data,
                          MCRYPT_MODE_CBC, $iv);

    return base64_encode('Salted__' . $salt . $ct);
}

 $key = ssl_encrypt('super', trim($_POST['pass']));

我正在加密一个字符串并保存到文件中:

 $value = $_POST['service'] . "=" . $key . "\n";


 file_put_contents($file, $value , FILE_APPEND); 

它的输出是这样的:

U2FsdGVkX1+0NB4++Kx28hUWNGwIqBoabI2O22U1TbpJ0n4FhzZvGtmSWiP7VOZj⏎

我认为最后一个符号是来自

的“\n”
 $value = $_POST['service'] . "=" . $key . "\n";

我什至尝试过这样的事情:

   $value = $_POST['service'] . "=" . $key.PHP_EOL;

        $fh = fopen($file,"a+");

        fwrite($fh, $value); //write to txtfile

        fclose($fh);

它仍然输出这个:

U2FsdGVkX1+0NB4++Kx28hUWNGwIqBoabI2O22U1TbpJ0n4FhzZvGtmSWiP7VOZj⏎

如何摆脱最后一个退格符号?请注意,在这种情况下,子字符串不是一个选项。

这是我解密的方式:

function ssl_decrypt($pass, $data) {
    $data = base64_decode($data);
    $salt = substr($data, 8, 8);
    $ct = substr($data, 16);

    $key = md5($pass . $salt, true);
    $iv = md5($key . $pass . $salt, true);

    $pt = mcrypt_decrypt (MCRYPT_RIJNDAEL_128, $key, $ct,
                          MCRYPT_MODE_CBC, $iv);

    return $pt;
}

$Loader = new josegonzalez\Dotenv\Loader($pathtoenv);

//解析.env文件

$environment = (new josegonzalez\Dotenv\Loader($pathtoenv))
              ->parse()
              ->toArray();


$digitalpass = ssl_decrypt('super', (string)$_ENV['digital']);

最佳答案

我认为可以有很多方法来做到这一点:

  • 使用 substr() 删除最后一个字符:substr($output, 0, -1);
  • 使用 chop() 删除您想要的字符串:chop($output,"⏎");
  • 或者可能使用 trim(),就像 Kenney 所说:trim($output)

关于php - 如何从字符串末尾删除退格字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35257275/

相关文章:

php - 如果目录存在,Htaccess 更改 URL 大小写

php - 需要帮助使用 php 连接到 mysql

php - (PHP/MYSQL) fatal error : Class 'STemplate' not found

PHP 正则表达式缺少两个匹配项

php - 使用一长串 .htaccess RewriteRule 或使用单个 catchall 并直接在 PHP 中使用?

php - 一次有两个变量的 switch 语句

php - 如何使用 JavaScript 填充 HTML 选择列表

php - 如何在 <option> 内显示 mysql 数据库中的表

php - CakePHP:查找字段不为空的位置

php SQL选择查询失败