I guess compile the code to .so or .dll (or get them from BtiMoney's app dir), and try to invoke it repeatedly in some script (i heard Python has easy interface to native c libs).
Signatures are (c#):
[DllImport(
"libscrypt_x86.so",
EntryPoint = "libscrypt_scrypt",
CallingConvention = CallingConvention.Cdecl
)]
private static extern int LibscryptScrypt86(
byte[] passwd,
uint passwdlen,
byte[] salt,
uint saltlen,
ulong n,
uint r,
uint p,
byte[] buf,
uint buflen
);
[DllImport(
"libscrypt_x64.so",
EntryPoint = "libscrypt_scrypt",
CallingConvention = CallingConvention.Cdecl
)]
private static extern long LibscryptScrypt64(
byte[] passwd,
ulong passwdlen,
byte[] salt,
ulong saltlen,
ulong n,
uint r,
uint p,
byte[] buf,
ulong buflen
);
[DllImport(
"ScryptNativeWinDllx86.dll",
EntryPoint = "crypto_scrypt",
CallingConvention = CallingConvention.Cdecl
)]
private static extern int WindowsScrypt86(
byte[] passwd,
uint passwdlen,
byte[] salt,
uint saltlen,
ulong n,
uint r,
uint p,
byte[] buf,
uint buflen
);
[DllImport(
"ScryptNativeWinDllx64.dll",
EntryPoint = "crypto_scrypt",
CallingConvention = CallingConvention.Cdecl
)]
private static extern long WindowsScrypt64(
byte[] passwd,
ulong passwdlen,
byte[] salt,
ulong saltlen,
ulong n,
uint r,
uint p,
byte[] buf,
ulong buflen
);
Passwd and salt - 32 length, n = 32768, r = 8, p = 1, buf - 3 length.