如何在PHP中使用BLENC?
我有一个需要编码的testcode.php文件:
<?php
$hello = "Hello World!";
?>
我创建了文件encode.php来加密和测试该文件:
<?php
/* read the PHP source code */
$source_code = file_get_contents("testcode.php");
/* create the encrypted version */
$redistributable_key = blenc_encrypt($source_code, "encrypt.php");
/* read which is the key_file */
$key_file = ini_get('blenc.key_file');
/* save the redistributable key */
file_put_contents($key_file, $redistributable_key, FILE_APPEND);
include 'encrypt.php';
echo $hello;
?>
但是当我运行encode.php时,我收到了这些错误:
警告:blenc_compile:验证脚本'encrypt.php'失败。 第14行的C: xampp htdocs PHPEncode encode.php中的MD5_FILE:910e6a45f806ba3dc42830839971cb53 MD5_CALC:c38a6b2f389267a272ea656073a463ed
和
致命错误:blenc_compile:验证脚本'encrypt.php'失败,无法执行。 在第14行的C: xampp htdocs PHPEncode encode.php中
帮助我解决它,谢谢! :)
当blenc.key_file中存在多个可再分发密钥时BLENC存在问题。 查看我报告的PHP错误#68490。
此外,当您多次运行脚本时,可重新分发的密钥将在blenc.key_file中损坏。 这是因为你添加到文件中,但是所有的键都保存在同一行(同样的破坏示例在php手册页上)。 您应该将其更改为:
file_put_contents($key_file, $redistributable_key."n", FILE_APPEND);
您得到的第二个致命错误可能是由于blenc.key_file损坏。
;)只需在你的页面中删除“ <?php ?>
”.php将其编译为“ <?php and ?>
”
只是$ hello =“Hello World!”;
并确定:)!
<?php
$file_name = basename($file);
$source_code = file_get_contents($file);
//This covers old-asp tags, php short-tags, php echo tags, and normal php tags.
$contents = preg_replace(array('/^<(?|%)=?(php)?/', '/(%|?)>$/'), array('',''), $source_code);
$html .= "<br> BLENC blowfish unencrypted key: $unencrypted_key" . PHP_EOL;
$html .= "<br> BLENC file to encode: " . $file_name . PHP_EOL;
//file_put_contents('blencode-log', "---nFILE: $file_namenSIZE: ".strlen($contents)."nMD5: ".md5($contents)."n", FILE_APPEND);
$redistributable_key = blenc_encrypt($contents, TARGET_DIR . '/blenc/' . $file_name, $unencrypted_key);
$html .= "<br> BLENC size of content: " . strlen($contents) . PHP_EOL;
/**
* Server key
* key_file.blenc
*/
file_put_contents(TARGET_DIR . '/blenc/' . 'key_file.blenc', $redistributable_key . PHP_EOL);
$html .= "<br> BLENC redistributable key file key_file.blenc updated." . PHP_EOL;
exec("cat key_file.blenc >> /usr/local/etc/blenckeys");
?>
https://github.com/codex-corp/ncryptd/blob/master/app/controllers/MagicalController.php#L479
链接地址: http://www.djcxy.com/p/20947.html下一篇: @ControllerAdvice exception handling together with @ResponseStatus