Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
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;
}
Пример #4
0
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());
	}