Expose additional signature for Base64.
We take a private implementation function and expose it as a public
function. We found this lower-level verison of Base64 to be useful
when doing some manual testing.
Change-Id: If1ca007f72f583e34d1aad8d26c7ac5f9e90dfea
diff --git a/util/crypto_util/base64.cc b/util/crypto_util/base64.cc
index 79b6910..fca4e41 100644
--- a/util/crypto_util/base64.cc
+++ b/util/crypto_util/base64.cc
@@ -21,8 +21,7 @@
namespace cobalt {
namespace crypto {
-namespace {
-bool Base64Encode_(const byte *data, int len, std::string* encoded_out) {
+bool Base64Encode(const byte *data, int len, std::string* encoded_out) {
if (!data || !encoded_out) {
return false;
}
@@ -41,15 +40,13 @@
encoded_out->resize(required_length - 1);
return true;
}
-} // namespace
-
bool Base64Encode(const std::vector<byte>& data, std::string* encoded_out) {
- return Base64Encode_(data.data(), data.size(), encoded_out);
+ return Base64Encode(data.data(), data.size(), encoded_out);
}
bool Base64Encode(const std::string& data, std::string* encoded_out) {
- return Base64Encode_(reinterpret_cast<const byte*>(data.data()),
+ return Base64Encode(reinterpret_cast<const byte*>(data.data()),
data.size(), encoded_out);
}
diff --git a/util/crypto_util/base64.h b/util/crypto_util/base64.h
index d8e3dbe..31741ac 100644
--- a/util/crypto_util/base64.h
+++ b/util/crypto_util/base64.h
@@ -23,6 +23,12 @@
namespace cobalt {
namespace crypto {
+// Base64 encodes |num_bytes| from |data| and writes the result into
+// |encoded_out|.
+//
+// Returns true on success and false on failure.
+bool Base64Encode(const byte* data, int num_bytes, std::string* encoded_out);
+
// Base64 encodes the bytes in |data| and writes the result into |encoded_out|.
//
// Returns true on success and false on failure.