一通り weblogin.rb でも実装してみたけど、アイコンとプロフィールぐらいはかけるようにならないと使えない。
hmac_sha1 って何だよとか思った。他の実装をみながら以下のように実装 (拡張性皆無)。
def hmac_sha1(key, str) key = Digest::SHA1.digest(key) if key.length > 64 key << "\0" * (64 - key.length) ipad = "\x36" * 64 opad = "\x5C" * 64 (key.size - 1).times do |i| ipad[i] ^= key[i] opad[i] ^= key[i] end sha1 = Digest::SHA1.new sha1.update(ipad) sha1.update(str) str = sha1.digest sha1 = Digest::SHA1.new sha1.update(opad) sha1.update(str) sha1.hexdigest end