Zwei identische Zeichenfolgen werden nicht verglichen [Duplikat]Java

Java-Forum
Guest
 Zwei identische Zeichenfolgen werden nicht verglichen [Duplikat]

Post by Guest »

im Allgemeinen aus irgendeinem Grund, wenn ich zwei Zeilen vergleicht, sind sie aus irgendeinem Grund nicht gleich. Es ist sehr schwierig zu erklären, wie sie meiner Meinung nach immer noch gleich sein sollten und die erste Bedingung erfüllt werden sollte. < /p>
Code (Java): < /p>

Code: Select all

import java.security.MessageDigest;
import java.nio.charset.StandardCharsets;
import java.util.Scanner;

public class Main {

public static void main(String[] args) throws Exception {
Scanner scanner = new Scanner(System.in);
String login, password;
// password = scanner.next();

System.out.println("Please enter to System!");
System.out.print("Enter login    : ");
login = scanner.next();
System.out.print("Enter password : ");
password = scanner.next();

MessageDigest digest = MessageDigest.getInstance("SHA-256");

byte[] login_hash = digest.digest(login.getBytes(StandardCharsets.UTF_8));
login = bytesToHex(login_hash);

byte[] password_hash = digest.digest(password.getBytes(StandardCharsets.UTF_8));
// System.out.println(bytesToHex(password_hash));

if ((String)login == "96cae35ce8a9b0244178bf28e4966c2ce1b8385723a96a6b838858cdd6ca0a1e") {
System.out.println(login + "\n == \n" + "96cae35ce8a9b0244178bf28e4966c2ce1b8385723a96a6b838858cdd6ca0a1e");
System.out.println("Welcome!");
}
if ((String)login != "96cae35ce8a9b0244178bf28e4966c2ce1b8385723a96a6b838858cdd6ca0a1e") {
System.out.println(login + "\n != \n" + "96cae35ce8a9b0244178bf28e4966c2ce1b8385723a96a6b838858cdd6ca0a1e");
}
}

private static String bytesToHex(byte[] hash) {
StringBuilder hexString = new StringBuilder(2 * hash.length);
for (int i = 0; i < hash.length; i++) {
String hex = Integer.toHexString(0xff & hash[i]);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
}

}
Ich habe erwartet, dass die Bedingung, die als erstes erfüllt wird, versucht, von Byte in String und umgekehrt zu konvertieren.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post