mirror of
https://github.com/arun11299/cpp-jwt.git
synced 2025-05-14 16:58:34 +00:00
Implement verify. Part 1
This commit is contained in:
parent
8277e2cbd3
commit
796abd6e65
10 changed files with 473 additions and 160 deletions
|
@ -212,6 +212,36 @@ void base64_uri_encode(char* data, size_t len) noexcept
|
|||
return;
|
||||
}
|
||||
|
||||
/*!
|
||||
*/
|
||||
std::string base64_uri_decode(const char* data, size_t len)
|
||||
{
|
||||
std::string uri_dec;
|
||||
uri_dec.resize(len + 4);
|
||||
|
||||
for (size_t i = 0; i < len; ++i) {
|
||||
switch (data[i]) {
|
||||
case '-':
|
||||
uri_dec[i] = '+';
|
||||
break;
|
||||
case '_':
|
||||
uri_dec[i] = '/';
|
||||
break;
|
||||
default:
|
||||
uri_dec[i] = data[i];
|
||||
};
|
||||
}
|
||||
|
||||
size_t trailer = 4 - (i % 4);
|
||||
if (trailer && trailer < 4) {
|
||||
while (trailer--) {
|
||||
uri_dec[i++] = '=';
|
||||
}
|
||||
}
|
||||
|
||||
return base64_decode(uri_dec.c_str(), uri_dec.length());
|
||||
}
|
||||
|
||||
} // END namespace jwt
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue