بسم الله الرحمن الرحيم السلام عليكم درس اليوم ان شاء الله سيكون حول hash كبداية هناك من لا يعرف ما هو hash و هذا تعريف بسيط له hash هي طريقة للتشفير لكن لا يمكن فك التشفير نهائيا اي اذا شفرت ملف معين بhash فانه لا يمكنك فك تشفيره قد يتسائل البعض لماذا اذن التشفير باستعمال hash و لا يمكننا فك التشفير فيما بعد مثال بسيط لنعرف فائدة hash لديك برنامج يطلب كلمة المرور في الحالة العادية ستاخد كلمة المرور من المسخدم و تقارنها بكلمة المرور الصحيحة لكن هذه الطريقة غير عملية لانها ستجعل كسر البرنامج جد سهل اما لو استعملت hash فتقرا كلمة المرور من المستخدم ثم تشفرها بhash و تقارنها مع كلمة المرور الصحيحة المشفرة ايضا اي تقارن كلميتن مشفرتين هكذا لن تكون بحاجة لفك التشفير للشتفير بhash في Qt Qt تقدم صنف خاص بالتشفير بhash هو QCryptographicHash ما يهمنا منه هو دالة اسمها hash و هي static اي نستدعيها هكذا QCryptographicHash::hash و هذا Prototype الدالة
QByteArray QCryptographicHash::hash ( const QByteArray & data, Algorithm method )
#include <QApplication>#include <QWidget>#include <QCryptographicHash>#include <QByteArray>#include <QString>#include<QMessageBox>int main(int argc, char *argv[]){ QApplication app(argc, argv); QWidget w; QString s="hash this"; QByteArray bytearr = QCryptographicHash::hash(s.toUtf8(), QCryptographicHash::Sha1); /*toUtf8تعيد QByteArray من خلال QString*///اظهار النتيجة ستكون بHEXQString hash=bytearr.toHex();//قيمة hex و هي تشفير للنص السابق hash this QMessageBox::information(&w, "hash this", out); //اظهار النتيجة في صندوق حوار w.show(); return app.exec();}