int main(int argc, char **argv) { if(argc < 2) return EXIT_FAILURE; vector<char> privkey, pubkey; genprivkey(argv[1], privkey, pubkey); printf("private key: %s\n", privkey.getbuf()); printf("public key: %s\n", pubkey.getbuf()); return EXIT_SUCCESS; }
static int generate_key_pair(lua_State * L) { vector<char> privkeyout, pubkeyout; unsigned int seed[4]; make_seed(seed, 4); genprivkey((const char *)seed, privkeyout, pubkeyout, sizeof(seed)); lua_pushstring(L, privkeyout.getbuf()); new (lua_newuserdata(L, sizeof(key))) key(pubkeyout.getbuf()); luaL_getmetatable(L, key::MT_NAME); lua_setmetatable(L, -2); return 2; }
static PyObject *genAuthKey(PyObject *self, PyObject *args) { char *pass; PyObject *pstr; PyObject *pTuple = PyTuple_New(2); if(!PyArg_ParseTuple(args, "s", &pass)) return 0; vector<char> pubkey, privkey; genprivkey(pass, privkey, pubkey); pstr = PyString_FromString(privkey.getbuf()); PyTuple_SetItem(pTuple, 0, pstr); pstr = PyString_FromString(pubkey.getbuf()); PyTuple_SetItem(pTuple, 1, pstr); return pTuple; }