diff --git a/cpp/src/vereign/kvstore/detail/win_crypto_storage.cc b/cpp/src/vereign/kvstore/detail/win_crypto_storage.cc
index f3090c6687a4b40ae5f57fde6981bbdc4243cbf6..4e910cb5eb1ba4147670efb7184cce99be06518e 100644
--- a/cpp/src/vereign/kvstore/detail/win_crypto_storage.cc
+++ b/cpp/src/vereign/kvstore/detail/win_crypto_storage.cc
@@ -95,8 +95,7 @@ void CryptoStorageImpl::Reset(const std::string& pin) {
 
   storage_.DeleteAll();
 
-  bytes::Buffer key{aesKeySizeBytes};
-  crypto::Rand(key);
+  auto key = crypto::Rand(aesKeySizeBytes);
 
   bytes::Buffer encrypted_key;
   ncrypt::rsa::PublicKeyEncrypt(rsa_key.Get(), key.View(), encrypted_key);
diff --git a/cpp/tests/vereign/ncrypt/rsa_test.cc b/cpp/tests/vereign/ncrypt/rsa_test.cc
index 19130f81cacdfed5da52ac99b6bb8c138d63229e..116ed579ca8a3dd518c5e04c40585d34096d706e 100644
--- a/cpp/tests/vereign/ncrypt/rsa_test.cc
+++ b/cpp/tests/vereign/ncrypt/rsa_test.cc
@@ -184,8 +184,7 @@ TEST_CASE("ncrypt::rsa PublicKeyEncrypt/PrivateKeyDecrypt", "[vereign/ncrypt/rsa
   }
 
   SECTION("max size input") {
-    bytes::Buffer input{214};
-    crypto::Rand(input);
+    auto input = crypto::Rand(214);
     bytes::Buffer encrypted;
 
     ncrypt::rsa::PublicKeyEncrypt(key.Get(), input.View(), encrypted);
@@ -197,8 +196,7 @@ TEST_CASE("ncrypt::rsa PublicKeyEncrypt/PrivateKeyDecrypt", "[vereign/ncrypt/rsa
   }
 
   SECTION("invalid big input") {
-    bytes::Buffer input{215};
-    crypto::Rand(input);
+    auto input = crypto::Rand(215);
     bytes::Buffer encrypted;
 
     CHECK_THROWS_WITH(