我是一个在我的应用程序中添加用户的功能。它执行一些检查,盐和哈希密码,然后插入值。现在,当我运行我得到的功能
ERROR: invalid end sequence
(老实说,我用意大利语得到它,并且必须做很多工作才能找到相应的英文字符串)。 现在,单个部分单独工作非常好,但是如果我把所有内容放在一个函数中,我就会得到错误,所以我很有想法。有什么建议吗?
答案 0 :(得分:4)
尝试解码编码错误的base64
内容时会发生此错误。例如:
=> select decode('aa', 'base64');
错误:无效的结束序列
而不是:
=> select decode('aa==', 'base64');
decode -------- \x69 (1 row)
答案 1 :(得分: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,