1

我正在尝试使用 SDK php 2 从 DynamoDB 写入和读取二进制数据。

我可以将数据写入表,但是当我读取它时,它以不同的格式出现,如何将其转换回其原始二进制格式。

$put_response = $dynamodb->putItem(array(
    'TableName' => 'TableName', 
    'Item' => array(
    'Id' => array( 'S' => 'werwer' ), // Primary Key
    'IV' => array( 'B' => openssl_random_pseudo_bytes(50)),
    'Password' => array( 'B' => $encrypt->EncryptER("asdasd") )
    )
    ));

当我读取 IV 属性或密码时,我得到一个不同的值,我应该做的转换是什么,或者是否有一个函数可以将字符串转换回二进制。

如果我在将值存储在 Dynamo LX�x��ʝ�t]�>0 之前执行回显,这就是我得到的

这是从 Dynamo GdNMWLt4nZrKnc50XdE+MA== 读取变量后的回声

谢谢

4

1 回答 1

0

主要的是二进制数据存储在 DynamoDB 中的 base64 中,即使您以原始格式提供它也是如此。所以为了得到原始二进制文件,我必须使用

base64_decode($response->getPath('Item/IV/B'))
于 2013-02-05T02:35:41.923 回答