Skip to main content

Base64の76文字制限

· One min read

Base64で軽くはまった。 ■Amazon アソシエイト(アフィリエイト) - ヘルプ

https://affiliate.amazon.co.jp/gp/associates/help/t126/a11
Base64 encoder = new Base64(); signature = new String(encoder.encode(rawHmac));
インスタンス化してencodeメソッドを呼んでます。 ただ、これだと動作せず。 これをこう書き直すと動く。
signature = new String(Base64.encodeBase64(rawHmac));
このサンプル通りに書いたわけじゃないから、このサンプルをそのまま使う分には問題ないのかもしれないけど、もし、動かないことがあったらお試しあれ。

このメソッドの違いは76文字制限をチェックするかしないからしい。 前者だとエンコードした文字列の末尾にCRLFが付く。 もしかしたら、この辺がうまくなかったのかもしれない。