2016-09-14 10 views
0

PostgreSQLでBase58エンコーディングストアドプロシージャを実装するのに助けてくれる人はいますか?PostgreSQLのBase58エンコーダ関数(TEXT用)

私はnumbersの答えを見つけましたが、TEXTまたはVARCHAR値を受け入れることができる同様のストアドプロシージャを探しています。

答えて

2

この非常にまれに私はあなたがこれをしないことを提案するつもりです。計算上は可能ですが、非常にお勧めできません。 Base64では対照的に

https://en.wikipedia.org/wiki/Base58

、エンコーディングの数字は、元のデータのバイト境界で うまく並ばないでください。このため、 メソッドは、大きな整数をエンコードするのに適していますが、バイナリデータの長い部分を エンコードするようには設計されていません。

これを別の言い方をすれば、Base58は文字列/テキストをエンコードするように設計されていません。主な選択肢は次のとおりです。

  • Base64人間が手動でコピーした場合、人間が間違いを犯す可能性があります。それ以外の場合はBase64では安全である有意に長いBase64で
  • よりコピーする/ペースト
  • 簡単に人間がコピーされる進が、

あなたはあなたに本当に必要 Base58ではなくBase64のを感じた場合、それはにあなたの要件を編集する価値があるかもしれませんあなたの質問。これは、誰かがあなたのrequiremntsに、より具体的な答えを与えるのを助けることがあります。

  • あなたは(例が好ましい)に変換する必要があり、これらの文字列は何ですか?
  • なぜBase58でなくBase64である必要がありますか(他のどのシステムにこれらを渡していますか)。