2
0

BsUtil.cpp 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #include "Prerequisites/BsPrerequisitesUtil.h"
  4. #include "ThirdParty/md5.h"
  5. namespace bs
  6. {
  7. String md5(const WString& source)
  8. {
  9. MD5 md5;
  10. md5.update((UINT8*)source.c_str(), (UINT32)source.length() * sizeof(WString::value_type));
  11. md5.finalize();
  12. UINT8 digest[16];
  13. md5.decdigest(digest, sizeof(digest));
  14. char buf[33];
  15. for (int i = 0; i < 16; i++)
  16. sprintf(buf + i * 2, "%02x", digest[i]);
  17. buf[32] = 0;
  18. return String(buf);
  19. }
  20. String md5(const String& source)
  21. {
  22. MD5 md5;
  23. md5.update((UINT8*)source.c_str(), (UINT32)source.length() * sizeof(String::value_type));
  24. md5.finalize();
  25. UINT8 digest[16];
  26. md5.decdigest(digest, sizeof(digest));
  27. char buf[33];
  28. for (int i = 0; i < 16; i++)
  29. sprintf(buf + i * 2, "%02x", digest[i]);
  30. buf[32] = 0;
  31. return String(buf);
  32. }
  33. }