我已经下载' defuse / php-encryption'来自GitHub。
我尝试了这里建立的例子:How do you Encrypt and Decrypt a PHP String?但我没有成功。
" test.php的"与" Crypto.php"在同一文件夹中:
.itemsContainer {
background:red;
float:left;
position:relative
}
.itemsContainer:hover .play{display:block}
.play{
position : absolute;
display:none;
top:20%;
width:40px;
margin:0 auto; left:0px;
right:0px;
z-index:100
}
结果是:
致命错误:Class' Crypto'找不到 第10行/home/zideesdubj/www/_tests2enfants/_test_session/php-encryption-master/php-encryption-master/src/test.php
在你的帮助下,我更换了#34; require(" Crypto.php");" by" require(' php-encryption-master / autoload.php'); 但它的结果相同:
致命错误:Class' Crypto'在第10行的/home/zideesdubj/www/_tests2enfants/_test_session/php-encryption-master/test.php中找不到
你有没有任何基本的例子可以使用' defuse / php-encryption' ?
我知道这是一个假人的问题,但我在网上找不到任何答案或教程。
谢谢!
答案 0 :(得分:1)
$ ciphertext永远不会是===到$ plaintext,只是一个抬头
要获得正确的命名空间,我必须使用:
$key = \Defuse\Crypto\Crypto::CreateNewRandomKey();
$message = 'We are all living in a yellow submarine';
$ciphertext = \Defuse\Crypto\Crypto::Encrypt($message, $key);
$plaintext = \Defuse\Crypto\Crypto::Decrypt($ciphertext, $key);
答案 1 :(得分:0)
提问者引用的SO问题显然是在与Composer集成之前针对旧版本的软件包编写的。 [引用的答案已被重写]
替换:
require ("Crypto.php");
使用:
require('vendor/autoload.php');
请记住,用一粒盐来回答这些问题。仅仅因为答案被接受并不一定意味着它是正确的或当前的。
答案 2 :(得分:0)
我确实遇到了同样的问题并且修复了它。
如果从GitHub存储库(https://github.com/defuse/php-encryption/releases)下载“defuse-crypto.phar”,请使用
require_once("defuse-crypto.phar");
然后使用
use Defuse\Crypto\whichever_one_you_want_to_load
这很有效,而且我一直试图让它工作很长一段时间。这是一个迟到的答案,但任何试图这样做的人,它确实有效。
你可能不应该这样做,但如果我找到了你应该做的更好的方法,那么我将编辑这个答案。