利用分解质因数的运算(质数取模)原理实现的,比如:给你100个数让你乘起来比较容易但是给你一个数让你求它100个质数就会比较难,所以数据加密就用这种方法来实现。
MD5是一种将任意长度的数据进行变换得到128位2进制数据,无法通过128位数据求的原始数据。
在QT中使用:
(1)创建一个加密对象
QCryptographicHash hash(QCryptographicHash::Md5);
(2)放入要加密的数据
void QCryptographicHash::addData(const QByteArray &data);
//hash.addData(password.toUft8());
(3)获取加密的结果
QByteArray QCryptographicHash::result() const;
//hash.result();
测试:
//对密码进行MD5加密 //1.创建加密对象 QCryptographicHash hash(QCryptographicHash::Md5); //2.放入要加入的数据 hash.addData(password.toUtf8()); //3.获取加密的结果 QByteArray arr = hash.result(); password = arr.toHex(); qDebug()<<password;
结果显示: