117.info
人生若只如初见

C++ md5加密与SHA比较

?C++?,???????????MD5???SHA????????openssl???MD5?SHA-256???????:

#include 
#include 
#include 
#include 

std::string md5(std::string input) {
    unsigned char digest[MD5_DIGEST_LENGTH];
    MD5((unsigned char*)input.c_str(), input.length(), digest);

    char mdString[(MD5_DIGEST_LENGTH * 2) + 1];
    for(int i = 0; i < MD5_DIGEST_LENGTH; i++)
         sprintf(&mdString[i*2], "x", (unsigned int)digest[i]);

    return std::string(mdString);
}

std::string sha256(std::string input) {
    unsigned char digest[SHA256_DIGEST_LENGTH];
    SHA256((unsigned const char*)input.c_str(), input.length(), digest);

    char mdString[(SHA256_DIGEST_LENGTH * 2) + 1];
    for(int i = 0; i < SHA256_DIGEST_LENGTH; i++)
         sprintf(&mdString[i*2], "x", (unsigned int)digest[i]);

    return std::string(mdString);
}

int main() {
    std::string input = "Hello, world!";
    
    std::string md5hash = md5(input);
    std::string sha256hash = sha256(input);
    
    std::cout << "MD5 hash: " << md5hash << std::endl;
    std::cout << "SHA-256 hash: " << sha256hash << std::endl;
    
    return 0;
}

???????,md5???sha256??????????????MD5?SHA-256????main??????????????????????

??????,MD5??????????,??????????,???????????SHA-256??????????????????????????????,???????SHA????,?SHA-384?SHA-512?

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe555AzsIAwNTDVw.html

推荐文章

  • c# winform组件 怎样集成

    在C# WinForms应用程序中集成组件通常涉及以下几个步骤: 添加引用: 首先,确保你已经安装了所需的组件。例如,如果你想要集成一个第三方库,你需要将该库的DLL...

  • c# winform组件 怎样提高效率

    要提高C# WinForms应用程序的效率,可以从多个方面入手,包括优化绘图过程、使用异步操作、合理设置控件属性等。以下是一些具体的优化策略:
    优化绘图过程 ...

  • c# winform组件 怎样自定义

    在C#中,要自定义WinForms组件,您需要创建一个继承自现有控件的新类,并重写其构造函数、事件处理程序和其他相关方法。以下是一个简单的示例,说明如何创建一个...

  • c# winform组件 怎样选择合适

    在C# WinForms应用程序开发中,选择合适的组件对于构建高效、用户友好的界面至关重要。以下是一些选择合适组件的建议:
    控件选择 根据需求选择:选择控件时...

  • C++ md5加密能否被破解

    C++中的MD5加密算法通常被认为是一种较为安全的加密方式,目前尚未有公开的方法可以直接破解MD5加密的结果。然而,由于计算机算力的提高和技术的发展,一些强大的...

  • C++ md5加密如何保障安全性

    在C++中,MD5加密算法本身并不足以保障数据的安全性,因为MD5算法已经被证明存在一定的漏洞,可以被破解。为了提高数据的安全性,可以采取以下措施: 使用更加安...

  • C++ md5加密有哪些应用场景

    数据传输安全:在网络传输中,使用MD5加密可以保护数据的安全性,防止数据被恶意篡改或窃取。 密码存储:在用户密码存储时,通常会使用MD5加密来保护用户的密码安...

  • C++ md5加密如何实现

    在C++中实现MD5加密可以使用现有的MD5库,也可以自己实现MD5算法。下面是一个简单的示例,展示如何用C++实现MD5加密: 使用现有的MD5库: #include #include #in...