BsUtil.cpp 800 B

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