最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++如何使用openssl接口來生成隨機(jī)數(shù)

 更新時間:2024年10月12日 09:45:38   作者:聽風(fēng)的傾訴  
OpenSSL是一個強(qiáng)大的加密庫,不僅支持加密解密,還能生成隨機(jī)數(shù),設(shè)置過程包括下載資源文件、配置項目及修改屬性頁等步驟,確保庫文件正確包含,在Visual Studio中正確配置后,可使用RAND_bytes函數(shù)生成隨機(jī)數(shù),此過程需要注意文件路徑和附加目錄的設(shè)置

c++使用openssl接口來生成隨機(jī)數(shù)

openssl是一個用來進(jìn)行加密和解密的常用接口

里面也有產(chǎn)生隨機(jī)數(shù)的功能,接下來就來實現(xiàn)一下該功能

產(chǎn)生隨機(jī)數(shù)的代碼十分容易

但配置過程十分繁瑣,配置過程是后面實現(xiàn)openssl進(jìn)行加密和解密操作的必不可少的一步

首先應(yīng)該下載openssl的資源文件,包含include,bin和lib三個文件夾,下載之后,在該三個文件夾的同等目錄下創(chuàng)建src文件,在src文件中就可以創(chuàng)建vs項目了,我是使用的vs2019。

如下圖所示:

在該位置創(chuàng)建項目:

創(chuàng)建新項目完成后,寫出下來下面的代碼是完全沒有問題的

但是在包含openssl的rand庫文件時將會發(fā)生錯誤,提示未能包含進(jìn)來

這時候需要在屬性頁將附加包含目錄加進(jìn)來,加進(jìn)來之后就不會報錯了

我們來看一下這個庫文件所在的位置:發(fā)現(xiàn)是在文件夾include里面,

而當(dāng)前代碼所在的文件夾如下:

所以要…\先去到src文件夾,再…\去到include文件所在的文件夾,然后再include就可以進(jìn)入到include文件夾中了,即…\include

將其加進(jìn)來,并且確定,這樣以來,文件夾include里面的所有庫函數(shù)都可以使用了

報錯消失

接下來就可以使用openssl中產(chǎn)生隨機(jī)數(shù)的庫函數(shù)了

unsigned char buf[16] = { 0 };//用來接收產(chǎn)生的隨機(jī)數(shù)
int re = RAND_bytes(buf, sizeof(buf));

在這里我們使用

RAND_bytes(unsigned char* buf,int num)

函數(shù)來產(chǎn)生隨機(jī)數(shù),第一個參數(shù)用來接收產(chǎn)生的隨機(jī)數(shù),第二個參數(shù)是產(chǎn)生的隨機(jī)數(shù)的數(shù)量,返回值是0或1,是1則表示產(chǎn)生隨機(jī)數(shù)成功。

寫好代碼之后運(yùn)行發(fā)現(xiàn)報錯:說剛才使用的函數(shù)不可用,現(xiàn)在想起來還有另外兩個文件夾未使用

在屬性中將將附加庫目錄和附加依賴項加進(jìn)來

再次運(yùn)行后還是報錯,提示信息如下:

由于缺少上述文件,我們?nèi)フ乙幌略撐募?,發(fā)現(xiàn)在bin文件夾的x86里面(lib文件夾里面是庫文件,bin文件夾里面是可執(zhí)行的二進(jìn)制文件)

然后在屬性里面將輸出目錄和工作目錄修改一下即可:

再次運(yùn)行,運(yùn)行成功,產(chǎn)生16個隨機(jī)數(shù)

總體代碼很少,如下所示:

#include<iostream>
#include<openssl/rand.h>
using namespace std;
int main(int argc, char* argv[])
{
	unsigned char buf[16] = { 0 };//用來接收產(chǎn)生的隨機(jī)數(shù)
	int re = RAND_bytes(buf, sizeof(buf));
	for (int i = 0;i < sizeof(buf);i++)
		cout << (int)buf[i] << " ";
	cout << endl;
	getchar();
	return 0;
}

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 深入解析 C++中std::stoul 函數(shù)

    深入解析 C++中std::stoul 函數(shù)

    std::stoul是 C++ 標(biāo)準(zhǔn)庫中的一個字符串轉(zhuǎn)換函數(shù),它用于將?std::string?或?std::wstring?轉(zhuǎn)換為?unsigned long?類型的整數(shù),下面就來介紹一下
    2025-04-04
  • C語言的函數(shù)概念與規(guī)則你了解嗎

    C語言的函數(shù)概念與規(guī)則你了解嗎

    這篇文章主要介紹了C語言中的函數(shù)概念與規(guī)則,本文給大家介紹的非常詳細(xì),具有參考借鑒價值,需要的朋友可以參考下,希望能給你帶來幫助
    2021-08-08
  • C++將CBitmap類中的圖像保存到文件的方法

    C++將CBitmap類中的圖像保存到文件的方法

    這篇文章主要介紹了C++將CBitmap類中的圖像保存到文件的方法,涉及C++導(dǎo)出資源文件的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C語言實現(xiàn)三子棋

    C語言實現(xiàn)三子棋

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)三子棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • C++:構(gòu)造函數(shù),析構(gòu)函數(shù)詳解

    C++:構(gòu)造函數(shù),析構(gòu)函數(shù)詳解

    今天小編就為大家分享一篇關(guān)于C++構(gòu)造函數(shù)和析構(gòu)函數(shù)的文章,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2021-09-09
  • C 語言環(huán)境設(shè)置詳細(xì)講解

    C 語言環(huán)境設(shè)置詳細(xì)講解

    本文主要介紹C 語言環(huán)境設(shè)置,在不同的系統(tǒng)平臺上,C語言的環(huán)境設(shè)置不同,這里幫大家整理了Liunx, UNIX,Windows 上安裝C語言環(huán)境,有開始學(xué)習(xí)C語言的朋友可以參考下
    2016-08-08
  • VS Code C/C++環(huán)境配置教程(無法打開源文件“xxxxxx.h”或者檢測到 #include 錯誤,請更新includePath)(POSIX API)

    VS Code C/C++環(huán)境配置教程(無法打開源文件“xxxxxx.h”或者檢測到 #include 錯誤,請更新in

    這篇文章主要介紹了VS Code C/C++環(huán)境配置教程(無法打開源文件“xxxxxx.h” 或者 檢測到 #include 錯誤。請更新includePath) (POSIX API),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 數(shù)據(jù)結(jié)構(gòu) 中數(shù)制轉(zhuǎn)換(棧的應(yīng)用)

    數(shù)據(jù)結(jié)構(gòu) 中數(shù)制轉(zhuǎn)換(棧的應(yīng)用)

    這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu) 中數(shù)制轉(zhuǎn)換(棧的應(yīng)用)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • C++ HLSL實現(xiàn)簡單的圖像處理功能

    C++ HLSL實現(xiàn)簡單的圖像處理功能

    本文主要介紹了HLSL實現(xiàn)簡單的圖像處理功能的方法,具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 深入講解Socket原理

    深入講解Socket原理

    這篇文章深入的講解Socket原理,并附帶實例代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-12-12

最新評論

平乐县| 师宗县| 加查县| 清远市| 星子县| 齐齐哈尔市| 泽库县| 天柱县| 桓仁| 铅山县| 汉源县| 洪湖市| 正宁县| 丰宁| 贵阳市| 鄂托克旗| 临澧县| 宁乡县| 岐山县| 舞阳县| 民权县| 荆门市| 汝州市| 聂拉木县| 七台河市| 哈尔滨市| 牙克石市| 衡水市| 建阳市| 嫩江县| 汽车| 榆林市| 东平县| 盖州市| 冀州市| 道孚县| 乌拉特后旗| 广昌县| 海林市| 龙门县| 北票市|