You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
710 B
23 lines
710 B
4 years ago
|
const ffi = require('ffi');
|
||
|
const struct = require('ref-struct');
|
||
|
const ref = require('ref');
|
||
|
|
||
|
|
||
|
const libhkana = ffi.Library('libkana_hash', {
|
||
|
'_kana_new_salt': ['int', ['pointer', 'long', 'pointer']],
|
||
|
'_kana_free_salt': ['int', ['pointer']],
|
||
|
'_kana_do': ['int', ['pointer', 'long', 'pointer', 'pointer', 'long']],
|
||
|
'_kana_length': ['int', ['pointer', 'long', 'pointer', 'pointer']],
|
||
|
});
|
||
|
|
||
|
const Kana = require('./kana');
|
||
|
|
||
|
let buffer= ref.alloc('long');
|
||
|
let sz = ref.alloc('long');
|
||
|
console.log(libhkana._kana_length(buffer, 2, null, sz));
|
||
|
console.log(sz.deref());
|
||
|
|
||
|
let output = new Buffer(sz);
|
||
|
console.log(libhkana._kana_do(buffer, 2, null, output, sz));
|
||
|
console.log(ref.readCString(output, 0));
|