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 に答える