• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:cryptの動作)

cryptの動作についての要約文・タイトル・ハッシュタグ

このQ&Aのポイント
  • cryptの動作に関しての質問文について要約すると、cryptがサーバーによって異なる動作をする可能性があるかどうかや、特定の条件下で不正な結果が返される場合があるかどうかを尋ねるものです。
  • この質問文では、特定の条件下で$in{'pass'}に何も入っていない状態で&decryが1を返すサーバーが存在することを指摘しています。
  • 一方、質問文の作成者自身の環境では、$in{'pass'}が空でも正しい結果が返されることを確認しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

crypt()の第2引数として空文字列を渡す事自体が想定されてないので、結果がどうなるかは、そのサーバ次第という事で。 具体的には、当該のCライブラリ関数の実装について調べる必要があります。 どっちかっていうと、Perlの問題というより、スクリプト側の境界条件考慮漏れでしょうから、事前に$in{'pass'}=""の場合をチェックしてはじくべきかと。

arcsin
質問者

お礼

>事前に$in{'pass'}=""の場合をチェックしてはじくべきかと。 osamuyさんのおっしゃるとおり事前に$in{'pass'}=""を検出する方法で対策する形に致しました。 >crypt()の第2引数として空文字列を渡す事自体が想定されてないので、結果がどうなるかは、そのサーバ次第という事で。 やはりそうだったのですか・・・、ずっとどこがいけないのか悩んでいただけに、それがわかっただけでもほっとしました。 ご解答ありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A