我有一个Bundle来解密/解密我的数据库中的值:Ambta Bundle
通常Bundle会自动解密所有值"#34;拿取它们时。
但是,如果您通过->getArrayResult();
获取它们,结果仍然会被解密。我想在之后手动解密。
查询
public function allActiveArray(){
return $this->getEntityManager()
->createQuery(
'SELECT r, a, z FROM AppBundle:Rating r JOIN r.assignment a JOIN a.zip z WHERE r.published = :publish ORDER BY r.createdAt DESC'
)
->setParameter('publish',true)
->getArrayResult();
}
我这样解密:
$dspName = $this->get('ambta_doctrine_encrypt.encryptor')->decrypt($rating['displayName']);
这会以某种方式工作,但返回的$decrypt
会在解密后附加一些乱码数据:
数据库中的displayName
3Ytmz0qWhj0Lk/New2hqCEJGXaATD+6PafxYuxuprCo=<ENC>
$ dspName的预期输出
T. H.
$ dspName的实际输出
T. H.[9�gם��)�9/P�p�^��R/��
有些东西被添加了,但为什么会这样?
答案 0 :(得分:1)
从看到的内容3Ytmz0qWhj0Lk/New2hqCEJGXaATD+6PafxYuxuprCo=<ENC>
开始,加密数据经过base64编码,然后<ENC>
附加到其中(=
用于补充,结束,base64)。
实际上,bundle add those看起来像是识别加密数据。请先尝试删除这些字符。