peerplays-fc/src/crypto/base32.cpp
Daniel Larimer b59fe17562 Merge branch 'phoenix' of github.com:bytemaster/fc into phoenix
Remove fc::vector and fc::string
2013-06-27 14:45:11 -04:00

28 lines
784 B
C++

#include <fc/crypto/base32.hpp>
#include <CyoDecode.h>
#include <CyoEncode.h>
namespace fc
{
std::vector<char> from_base32( const std::string& b32 )
{
auto len = cyoBase32DecodeGetLength( b32.size() );
std::vector<char> v(len);
cyoBase32Decode( v.data(), b32.c_str(), b32.size() );
return v;
}
std::string to_base32( const char* data, size_t len )
{
auto s = cyoBase16EncodeGetLength(len);
std::vector<char> b32;
b32.resize(s);
cyoBase16Encode( b32.data(), data, len );
b32.resize( b32.size()-1); // strip the nullterm
return std::string(b32.begin(),b32.end());
}
std::string to_base32( const std::vector<char>& vec )
{
return to_base32( vec.data(), vec.size() );
}
}