我在我的数据库中有一个能解密值的绑定:Ambta束
通常,绑定在获取所有值时会“自动”解密它们。但是,如果您通过->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 in DB
3Ytmz0qWhj0Lk/New2hqCEJGXaATD+6PafxYuxuprCo=<ENC>
预期输出的$dspName
T. H.
$dspName的实际输出
T. H.[9�gם��)�9/P�p�^��R/��
增加了一些东西,但为什么呢?
发布于 2016-07-12 08:18:00
从3Ytmz0qWhj0Lk/New2hqCEJGXaATD+6PafxYuxuprCo=<ENC>可以看到,加密的数据被base64编码,然后<ENC>被附加到它(=用来补充,end,base64)。
实际上,识别加密数据的捆绑添加那些看起来很像。先尝试移除这些字符。
https://stackoverflow.com/questions/38322434
复制相似问题