diff --git a/nacl/hash.py b/nacl/hash.py index 1f1e3ab3d9c89d186c13bc4370f047e8dfd1cb24..cee6e7ceb8e9e31f635e4747a79b9a18818983f5 100644 --- a/nacl/hash.py +++ b/nacl/hash.py @@ -8,7 +8,7 @@ def sha256(message, binary=False): digest = nacl.ffi.new("unsigned char[]", nacl.lib.crypto_hash_sha256_BYTES) if not nacl.lib.crypto_hash_sha256(digest, message, len(message)): raise CryptoError("Hashing failed") - digest = nacl.ffi.string(digest) + digest = nacl.ffi.buffer(digest, nacl.lib.crypto_hash_sha256_BYTES)[:] if binary: return digest @@ -19,7 +19,7 @@ def sha512(message, binary=False): digest = nacl.ffi.new("unsigned char[]", nacl.lib.crypto_hash_sha512_BYTES) if not nacl.lib.crypto_hash_sha512(digest, message, len(message)): raise CryptoError("Hashing failed") - digest = nacl.ffi.string(digest) + digest = nacl.ffi.buffer(digest, nacl.lib.crypto_hash_sha512_BYTES)[:] if binary: return digest diff --git a/nacl/random.py b/nacl/random.py index 18038a6311ee8926c665bcb861ba51a4953131f7..ded56faee4fc43e36181cd1bcebafc5b52f367e3 100644 --- a/nacl/random.py +++ b/nacl/random.py @@ -4,4 +4,4 @@ from . import nacl def random(size=32): data = nacl.ffi.new("unsigned char[]", size) nacl.lib.randombytes(data, size) - return nacl.ffi.string(data) + return nacl.ffi.buffer(data, size)[:]