stanzdor
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору подскажите, кто силен в криптографии, нужен код под FM для кодирования\декодирования. код под винду ниже. нашел только TMS Crypto, но в нём нет RC4. Код: uses wcrypt2; function CryptBuff(Buff: Pointer; lenBuff: Integer; const Password: AnsiString; ToCrypt: Boolean): Integer; var hProv: HCRYPTPROV; hash: HCRYPTHASH; key: HCRYPTKEY; len: dWord; begin CryptAcquireContext(@hProv, nil, nil, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT); CryptCreateHash(hProv, CALG_SHA, 0, 0, @hash); CryptHashData(hash, @Password[1], Length(Password), 0); CryptDeriveKey(hProv, CALG_RC4, hash, 0, @key); CryptDestroyHash(hash); len:= lenBuff; if ToCrypt then CryptEncrypt(key, 0, true, 0, Buff, @len, len) else CryptDecrypt(key, 0, true, 0, Buff, @len); result:= len; CryptReleaseContext(hProv, 0); end; |
|