Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
r=pysodium.crypto_generichash(b'howdy')
pysodium.crypto_generichash(b'howdy', outlen=4)
r6=pysodium.crypto_generichash(b'howdy', outlen=6)
pysodium.crypto_generichash(b'howdy', outlen=8)
state = pysodium.crypto_generichash_init()
pysodium.crypto_generichash_update(state, b'howdy')
r1=pysodium.crypto_generichash_final(state)
state = pysodium.crypto_generichash_init(outlen=6)
pysodium.crypto_generichash_update(state, b'howdy')
r61=pysodium.crypto_generichash_final(state, outlen=6)
self.assertEqual(r, r1)
self.assertEqual(r6, r61)
self.assertNotEqual(pysodium.crypto_generichash( 'salt0'), pysodium.crypto_generichash( 'salt1'))
self.assertNotEqual(pysodium.crypto_generichash(b'salt0'), pysodium.crypto_generichash(b'salt1'))
ensure_self_specified(opts)
ensure_dhpeers_specified(opts)
ensure_name_specified(opts)
sec = mpecdh_start_handler(opts.name, opts.dh_peers, opts.self, opts.infile, opts.outfile, opts.basedir)
if sec:
print >>sys.stderr, "[pbp] pushed shared secret, hash", b85encode(nacl.crypto_generichash(sec, outlen=6))
clearmem(sec)
sec = None
# finish MPECDH
elif opts.action=='de':
ensure_self_specified(opts)
ensure_name_specified(opts)
sec = mpecdh_end_handler(opts.name, opts.self, opts.infile, opts.outfile, opts.basedir)
if sec:
print >>sys.stderr, "[pbp] pushed shared secret, hash", b85encode(nacl.crypto_generichash(sec, outlen=6))
clearmem(sec)
sec = None
elif opts.action=='R':
ensure_size_good(opts)
if PITCHFORK and opts.PITCHFORK:
pitchfork.init()
pitchfork.rng(int(opts.size), opts.outfile)
else:
random_stream_handler(opts.outfile, opts.size)
elif opts.action=='h':
hsum = hash_handler(opts.infile, k=load_key(opts.key), outlen=int(opts.size or '16'))
if hsum:
print ' '.join(split_by_n(binascii.hexlify(hsum),4))
def doSphinx(self, message, host, b, cb):
self.hostid=pysodium.crypto_generichash(host, self.getsalt(), 32)
signed=pysodium.crypto_sign(message,self.getkey())
loop = asyncio.get_event_loop()
coro = loop.create_connection(lambda: SphinxClientProtocol(signed, loop, b, self, cb), address, port)
try:
loop.run_until_complete(coro)
loop.run_forever()
except:
raise
def list(self, host):
salt = self.getsalt()
hostid = pysodium.crypto_generichash(host, salt, 32)
return self.getusers(hostid) or []
def getid(self, host, user):
salt = self.getsalt()
return pysodium.crypto_generichash(b''.join((user.encode(),host.encode())), salt, 32)
def new_event(self, d, p):
"""Create a new event (and also return it's hash)."""
assert p == () or len(p) == 2 # 2 parents
assert p == () or self.hg[p[0]].c == self.pk # first exists and is self-parent
assert p == () or self.hg[p[1]].c != self.pk # second exists and not self-parent
# TODO: fail if an ancestor of p[1] from creator self.pk is not an
# ancestor of p[0]
t = time()
s = crypto_sign_detached(dumps((d, p, t, self.pk)), self.sk)
ev = Event(d, p, t, self.pk, s)
return crypto_generichash(dumps(ev)), ev
def is_valid_event(self, h, ev):
try:
crypto_sign_verify_detached(ev.s, dumps(ev[:-1]), ev.c)
except ValueError:
return False
return (crypto_generichash(dumps(ev)) == h
and (ev.p == ()
or (len(ev.p) == 2
and ev.p[0] in self.hg and ev.p[1] in self.hg
and self.hg[ev.p[0]].c == ev.c
and self.hg[ev.p[1]].c != ev.c)))