int Random::randomInt() { QMutexLocker locker(global_random_mutex()); SecureArray a = global_random()->nextBytes(sizeof(int)); int x; memcpy(&x, a.data(), a.size()); return x; }
QString Encryption::decrypt(QByteArray &input) { QString res; //инициализация Initializer init; Cipher cp(("aes128"), Cipher::CBC, Cipher::DefaultPadding); cp.setup(Decode, this->_symmetricKey, InitializationVector(this->_symmetricKey)); SecureArray u = cp.process(input); if (!cp.ok()) { return res; } res = QString(u.data()); return res; }
QByteArray Encryption::encrypt(const QString &input) { QByteArray res; Initializer init; SecureArray arg = QVariant(input).toByteArray(); Cipher cp(("aes128"), Cipher::CBC, Cipher::DefaultPadding); cp.setup(Encode, this->_symmetricKey, InitializationVector(this->_symmetricKey)); SecureArray u = cp.process(arg); if (!cp.ok()) { return res; } res = u.toByteArray(); return res; }
static PrivateKey get_privatekey_pem(const QString &pem, const QString &fileName, void *ptr, const SecureArray &passphrase, ConvertResult *result, const QString &provider) { PrivateKey out; ConvertResult r; out = getKey<PrivateKey, Getter_PrivateKey<QString>, QString>(provider, pem, passphrase, &r); // error converting without passphrase? maybe a passphrase is needed if(use_asker_fallback(r) && passphrase.isEmpty()) { SecureArray pass; if(ask_passphrase(fileName, ptr, &pass)) out = getKey<PrivateKey, Getter_PrivateKey<QString>, QString>(provider, pem, pass, &r); } if(result) *result = r; return out; }
virtual void submitPassphrase(int, int, const SecureArray &a) { global_gpg->submitPassphrase(a.toByteArray()); }
void setPassword(const SecureArray &s) { have.pass = true; pass = QString::fromUtf8(s.toByteArray()); }