كيفية حساب MD5 hash لسلسلة نصية في Java؟
مرحبًا بالجميع! لقد بدأت للتو في تعلم Java وواجهت مهمة: أحتاج إلى حساب MD5 hash لسلسلة نصية للتحقق من سلامة الملف. بحثت في الكثير من المنتديات، لكن الأمثلة إما قديمة أو معقدة جدًا للمبتدئين.
حاولت كتابة الكود بنفسي، لكنه لا يعمل. إليك ما توصلت إليه:
```java
public class MD5Example {
public static void main(String[] args) {
String input = "Hello, world!";
String hash = input.hashCode(); // هذا غير صحيح، أعرف
System.out.println("MD5: " + hash);
}
}
```
أفهم أن `hashCode()` ليس MD5، بل مجرد hash داخلي في Java. لكن كيف أفعلها بشكل صحيح؟ سمعت عن `MessageDigest`، لكني لا أفهم كيفية استخدامه. هل أحتاج إلى إضافة مكتبات؟ أم يمكنني استخدام الأدوات القياسية؟
سؤال آخر: هل MD5 hash دائمًا 32 حرفًا بالنظام الست عشري؟ وكيف يمكنني مقارنة hashين للتأكد من أن السلاسل النصية متطابقة؟ سأكون ممتنًا لمثال بسيط وواضح مع شرح.