現在、2つのScala文字列を一致させようとするときに奇妙な問題に対処しています。次の2つの文字列が同じであるかどうかを判断しようとする場合:
SM8lz5IEIWs7TUhR3ke27pnY3XsjojxqaMEg+ARCGs1nm3sVkwA+CM+XJfdsUxqzqH7LZdkflvny
z621tYkmXA==
とSM8lz5IEIWs7TUhR3ke27pnY3XsjojxqaMEg+ARCGs1nm3sVkwA+CM+XJfdsUxqzqH7LZdkflvny
z621tYkmXA==
Scalaはを返しますfalse
。したがって、次のようif(hash1 == hash2)
にすると、が返されますfalse
。
別のオペレーティングシステムのコンピューターで生成されたハッシュを照合しようとした場合にのみハッシュ照合が失敗するため、これは空白または文字エンコードの問題のいずれかであると思われます。正規表現を使用して空白を削除しようとしましたが、それでも失敗しました。
私は何を見落としましたか?そして、Scalaでハッシュをクリーンアップして一致させるためのより良い方法はありますか?
アップデート
2つの文字列を比較した後、Scalaは。hash2
よりも長い1文字であると考えていhash1
ます。そこで、両方のハッシュで次の関数を実行しました.trim.replaceAll("""(?m)\s+$""", "")
。それでも、それは彼らが同じではないと言っています。他にどのようなキャラクターが干渉している可能性がありますか?