3

我有一个在我的应用程序上添加用户的功能。它对密码进行一些检查、加盐和散列,然后插入值。现在,当我运行我得到的函数时

ERROR: invalid end sequence

(老实说,我用意大利语得到它,并且必须做很多工作才能找到相应的英文字符串)。现在,单个部分单独工作非常好,但是如果我将所有内容放在一个函数中,我会得到错误,所以我很没有想法。有什么建议吗?

4

2 回答 2

5

尝试解码错误编码的base64内容时会发生此错误。例子:

=> select decode('aa', 'base64');

错误:无效的结束序列

相对于:

=> select decode('aa==', 'base64');
解码
--------
 \x69
(1 行)
于 2014-07-05T18:41:42.803 回答
1

也试试

case 
  when char_length(sequence) in (6, 10, 14) then decode(sequence::text || '==', 'base64'::text)::character varying 
  when char_length(sequence) in (7, 11, 15) then decode(sequence::text || '=', 'base64'::text)::character varying 
  when char_length(sequence) in (8, 9, 12, 13) then decode(sequence::text, 'base64'::text)::character varying 
  else null
end AS sequence,
于 2014-10-23T12:21:53.290 回答