zoukankan      html  css  js  c++  java
  • cryptopp开源库的使用(一):md5加密

    项目总是各种新需求,最近遇到需要对字符串进行md5加密,确保传输字符串的有效性。

    考虑到跨平台性和通用性,选择了cryptopp开源库,这里主要是用静态库调用。

    1、引入头文件和lib库

    #include "cryptopp/md5.h"
    #pragma comment(lib,"cryptlib.lib")
    
    using namespace CryptoPP;
    
    /*md5字符串的长度,16代表32位字符 */
    #define MD5_CRYPT_LEN 16

    2、使用

    string getMD5(string str)
    {
        MD5 md5;
        byte digest[MD5_CRYPT_LEN] = { 0 };
    
        int len = str.length();
        byte *message = new byte[len + 1];
        message[len] = 0;
        memcpy(message, str.c_str(), len + 1);
    
        md5.CalculateDigest(digest, message, len);
    
        ostringstream osstr;
        /* 设置字符串流的格式:16进制,大写、不足位补0*/
        osstr << hex << uppercase << setfill('0');
    
        for (int i = 0; i < MD5_CRYPT_LEN; ++i)
        {
            /* 输入2位数据,输入F最终输出是0F*/
            osstr << setw(2) << int(digest[i]);
        }
    
        delete []message;
    
        return osstr.str();
    }

    主要是记录下md5加密的使用和ostringstream的使用,加深自己的印象。

  • 相关阅读:
    JavaScript 简介
    HTML 标签列表
    HTML5 是什么
    初识HTML5
    Conda 环境增删改查导出导入
    Windows 下安装 CGAL 并验证安装
    3D 点云数据集整理分析
    内网穿透
    SSH 免密登录
    串口、COM口、TTL、RS-232、RS-485区别详解
  • 原文地址:https://www.cnblogs.com/superbi/p/4974992.html
Copyright © 2011-2022 走看看