Qt QScript Crypto
Qt QScript Crypto
我正在开发一个Qt应用程序,我正在使用QScript为我的程序编写javascript"扩展"。
我需要安全地存储密码,所以我想使用 SHA3-512 或 PBKDF2 或 HMAC我找到了一个实现上述内容的 JavaScript 库。
链接到图书馆
我正在使用这个简单的QScript示例。
链接到 QScript 示例
我的问题是,如何使用该库,更具体地说,如何使该库可用于我的javascript?
在
评估自己的自定义代码之前,只需评估要使用的其他脚本文件。对于您选择的库,这可能是一些工作,因为有很多文件,但这有望让您入门(假设该库中的 sha1.js 位于您执行程序的目录中):
#include <QtCore>
#include <QDebug>
#include <QtScript>
void loadScriptFile(QScriptEngine &engine, const QString &fileName) {
QFile scriptFile(fileName);
scriptFile.open(QIODevice::ReadOnly);
QTextStream stream(&scriptFile);
QString contents = stream.readAll();
scriptFile.close();
QScriptValue value = engine.evaluate(contents, fileName);
if (value.isError()) {
qCritical() << "Unable to load " << fileName;
}
}
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QScriptEngine engine;
loadScriptFile(engine, QLatin1String("./sha1.js"));
QScriptValue output = engine.evaluate("CryptoJS.SHA1('"Testing 1 2 3'");");
qDebug() << output.toString();
return a.exec();
}
顺便说一句,如果您使用的是Qt 5.0或更高版本,请考虑使用QJSEngine而不是QScriptEngine:http://qt-project.org/doc/qt-5.0/qtqml/qjsengine.html。它更快,维护更积极。API 几乎相同,因此移植代码应该很容易。
相关文章:
- Web Crypto API JWK 在 Python 中的用法
- 混淆Crypto.JS密码短语
- 在iOS应用程序的分析云代码上运行crypto-js的问题
- 通过Crypto.js获取文件的md5sum
- Node.js:crypto.pbkdf2密码为十六进制
- crypto-js如何隐藏类方法
- 从nodejs-crypto返回的字符串中修剪非ascii字符
- 将C#Cryptography.Rijndael加密转换为Javascript(pref.crypto-js)
- Javascript Forge Crypto Library:重新创建公钥和私钥以供以后重用
- Websockets聊天消息加密与AES,Crypto.js和.NET
- Node.js' crypto.createSign() 的有效算法输入字符串
- Qt QScript Crypto
- Bluemix Single Sign for Node.js 抛出“crypto.createCredentials
- 使用crypto-js加密密码并通过ajax发送表单(并在java中解密),我得到:类型错误:无法读取未定义的属性“单词
- AES - Crypto JS & PHP
- AES解密在伪造中失败,但在crypto-js中工作
- 在钛中使用Crypto-JS(commonjs)
- 在使用密码加密消息时,crypto-js 在内部使用的 AES 参数和步骤是什么
- 解决javax.crypto.IllegalBlockSizeException:最后一个块在解密中不完整
- javaScript window.crypto.getRandomvalues在safari浏览器中不起作用