No Description
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

test.cpp 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "base64.h"
  2. #include <iostream>
  3. int main() {
  4. const std::string s =
  5. "René Nyffenegger\n"
  6. "http://www.renenyffenegger.ch\n"
  7. "passion for data\n";
  8. std::string encoded = base64_encode(reinterpret_cast<const unsigned char*>(s.c_str()), s.length());
  9. std::string decoded = base64_decode(encoded);
  10. std::cout << "encoded: " << std::endl << encoded << std::endl << std::endl;
  11. std::cout << "decoded: " << std::endl << decoded << std::endl;
  12. // Test all possibilites of fill bytes (none, one =, two ==)
  13. // References calculated with: https://www.base64encode.org/
  14. std::string rest0_original = "abc";
  15. std::string rest0_reference = "YWJj";
  16. std::string rest0_encoded = base64_encode(reinterpret_cast<const unsigned char*>(rest0_original.c_str()),
  17. rest0_original.length());
  18. std::string rest0_decoded = base64_decode(rest0_encoded);
  19. std::cout << "encoded: " << rest0_encoded << std::endl;
  20. std::cout << "reference: " << rest0_reference << std::endl;
  21. std::cout << "decoded: " << rest0_decoded << std::endl << std::endl;
  22. std::string rest1_original = "abcd";
  23. std::string rest1_reference = "YWJjZA==";
  24. std::string rest1_encoded = base64_encode(reinterpret_cast<const unsigned char*>(rest1_original.c_str()),
  25. rest1_original.length());
  26. std::string rest1_decoded = base64_decode(rest1_encoded);
  27. std::cout << "encoded: " << rest1_encoded << std::endl;
  28. std::cout << "reference: " << rest1_reference << std::endl;
  29. std::cout << "decoded: " << rest1_decoded << std::endl << std::endl;
  30. std::string rest2_original = "abcde";
  31. std::string rest2_reference = "YWJjZGU=";
  32. std::string rest2_encoded = base64_encode(reinterpret_cast<const unsigned char*>(rest2_original.c_str()),
  33. rest2_original.length());
  34. std::string rest2_decoded = base64_decode(rest2_encoded);
  35. std::cout << "encoded: " << rest2_encoded << std::endl;
  36. std::cout << "reference: " << rest2_reference << std::endl;
  37. std::cout << "decoded: " << rest2_decoded << std::endl << std::endl;
  38. return 0;
  39. }