ログインシステムについて質問があります。
パスワードを暗号化ではなくハッシュ関数を使い符号化する安全性と使い方はわかりました。
またそれに文字を足して何回か行う、ということもわかりました。(ソルトとストレッチングのことです)
そこで質問があります。

  1. SHA256を使おうと思っているのですが、ハッシュ化という行為は元に戻せないということでした。いずれ新しいタイプのハッシュを使おうと思った際に、どのようにシステムを移行させればよいのでしょうか。あるいはどのようにSHA1などからの移行を果たしましたか?

  2. もちろんSSL通信化での送信になりますが、パスワードを送信する際は符号化して送信するべきだと思うのです。しかし符号化すると元へは戻せません。この場合サーバーと同じ処理をjsで書いてしまうとロジックの公開になり安全性が保てないような気がしています。そこで公開鍵と秘密鍵を使ったもので暗号化しようと思い立ちましたが、あまりにコストが高い気がしています。皆さんはこのようなところはどのように解決なされているのでしょうか。

以上二点、宜しくお願いします。