1 #define PERL_NO_GET_CONTEXT
9 MODULE = File::KDBX::XS PACKAGE = File::KDBX::Util
16 #ifdef SV_COW_REFCNT_MAX
17 if (SvIsCOW(sv)) XSRETURN_IV(0 < SvLEN(sv) ? CowREFCNT(sv) : 0);
23 MODULE = File::KDBX::XS PACKAGE = File::KDBX::KDF::AES
28 _transform_half_xs(const char* key, const char* seed, unsigned int rounds)
32 unsigned char work[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
33 Copy(seed, work, 1, work);
35 aes_setup(key, 32, 14, &skey);
36 for (unsigned int i = 0; i < rounds; ++i) {
37 aes_ecb_encrypt(work, work, &skey);
40 SV* result = newSVpvn(work, sizeof(work));