示例#1
0
void OpLabel::OnResize(INT32* new_w, INT32* new_h)
{
	ResetRequiredSize();

	OpRect internal_rect(0,0,*new_w,*new_h);
	AddPadding(internal_rect);

	m_edit->SetRect(internal_rect);
}
示例#2
0
// basic encryption
QByteArray TinyAES::Encrypt(QByteArray p_input, QByteArray p_key, QByteArray p_iv)
{
    int keySize = p_key.size();
    int ivSize = p_iv.size();

    if (keySize != 16 && keySize != 24 && keySize != 32)
        return QByteArray();

    if (ivSize != 16)
        return QByteArray();

    // add padding
    QByteArray input = AddPadding(p_input);
    int inputSize = input.size();

    unsigned char *key = new unsigned char[keySize]();
    QByteArrayToUCharArray(p_key, key);

    unsigned char *iv = new unsigned char[ivSize]();
    QByteArrayToUCharArray(p_iv, iv);

    unsigned char *decrypted = new unsigned char[inputSize]();
    QByteArrayToUCharArray(input, decrypted);

    unsigned char *encrypted =  new unsigned char[inputSize](); // encrypted text

    aes_context context;
    aes_set_key(key, keySize * 8, &context);
    aes_cbc_encrypt(decrypted, encrypted, inputSize, iv, &context);

    QByteArray result = UCharArrayToQByteArray(encrypted, inputSize);

    delete []key;
    delete []iv;
    delete []decrypted;
    delete []encrypted;

    return result;
}