Pgcrypto在Windows上无法正常运行

时间:2014-11-06 08:41:25

标签: aes postgresql-9.3 pgcrypto

我在2个不同的服务器上执行相同的查询,我得到了不同的结果。有谁知道为什么?

select decrypt('\x792135887dace2af15d3f8548cc20919','\x265bb788ef6762abf50577f8a6669aa0','aes-ecb')

Debian postgresql 9.3服务器输出(预期结果):

"\xafb8967640bd0400309e7b0008acbb23"

Windows postgresql 9.3服务器输出(结果错误):

"\257\270\226v@\275\004\0000\236{\000\010\254\273#"

1 个答案:

答案 0 :(得分:1)

您的Windows 9.3服务器具有非默认配置;它将bytea_output设置为escape模式,而不是hex模式。

结果实际上是相同的,它只是显示在底层二进制文件的不同文本表示中。

regress=> SHOW bytea_output;
 bytea_output 
--------------
 hex
(1 row)

regress=> SELECT BYTEA '\257\270\226v@\275\004\0000\236{\000\010\254\273#';
               bytea                
------------------------------------
 \xafb8967640bd0400309e7b0008acbb23
(1 row)