Openssl 中DES,AES,BlowFish演算法的運算速度比較
硬體環境:
X200, CPU: P8600,2.2G, 記憶體: 2G
軟體環境:
Windows XP SP3
測試方法:
DES: 3DES ECB模式,金鑰長度16個位元組,加密/解密8個位元組;
AES: AES ECB模式,金鑰長度16個位元組,加密/解密16個位元組;
BlowFish: ECB模式,金鑰長度16個位元組,加密/解密16個位元組;
每個演算法分別對資料做1000000次的加密/解密,得到的時間如下:
3DES加密:469 ms
AES加密:125ms
BlowFish加密:93ms
3DES解密:485ms
AES解密: 125ms
BlowFishjiem: 125ms
從上面資料來看,BlowFish和AES運算速度差不多,3DES運算時間要長,差不多是AES的3倍還多。
在新的專案中,推薦使用AES演算法。
相關推薦
Openssl 中DES,AES,BlowFish演算法的運算速度比較
這兩天寫了Openssl中關於DES,AES,BlowFish等對稱加密演算法的API介紹。今天寫了一個程式,測試了一下這三種加密演算法的運算速度。 硬體環境: X200, CPU: P8600,2.2G, 記憶體: 2G 軟體環境: Windows XP
SymmetricAlgorithmHelper對稱加密輔助類,支援DES,3DES,AES,RC2
理論上只要繼承自SymmetricAlgorithm的對稱加密演算法,該輔助類都支援加密解密,另外為了方便與JAVA互通,預設提供了ECB和CBC兩種加密模式、填充方式均為PKCS7的靜態方法 using System.Security.Cryptography;
OpenSSL中HMAC,MD5以及對稱加密演算法的應用
HMAC和MD5: HMAC的使用:#include <openssl/hmac.h> unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len,
插入排序,歸併排序,快速排序的實現和速度比較(包含二分法查詢所有匹配元素)
最近在學習排序演算法,實現後比較了花費時間情況,現在總結一下插入排序的時間複雜度是O(n²),是一種很直觀的排序方式。歸併排序為O(nlogn),實現起來也比較簡單。快速排序平均時間複雜度也是O(nlogn),實現起來比歸併複雜一些。經過比較發現快速排序比歸併排序要快一些,大
iOS DES,AES加密
initial ger prop ++ algorithm oid ndk tro roo 最近在準備面試,發現之前項目中用到的加密技術都記得不清楚了,所以總結一下。之前項目用到的加密技術一種是DES加密,用來加密發送請求的字段,保證服務器數據的安全,一種是AES加密,用於
設計一個演算法,刪除遞增有序連結串列中值大於mink且小於maxk的所有元素(mink和maxk是給定的兩個引數,其值可以和表中的元素相同,也可以不同)。
語言:C++ #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList; //建立連結串列 int CreateList(Li
設計一個演算法,將連結串列中所有結點的連結串列方向“原地”逆轉,即要求僅利用原表的儲存空間,換句話說,要求演算法的空間複雜度為O(1)。
語言:C++ #include <iostream> using namespace std; typedef struct LNode { int data; LNode *next; }LNode,*LinkList; //建立連結串列 int CreateList(Li
TCP BBR演算法中Pacing,cwnd,fq以及TSQ對RTT的影響
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
刪除連結串列中的某個數,演算法時間複雜度是O(n)
import java.util.Scanner; /** * */ /** * @author jueying: * @version 建立時間:2018-10-29 下午04:05:03 * 類說明 */ /** * @author jueying
資料結構中 線性表,棧,佇列,演算法之間的聯絡與區別
一。連結串列為什麼需要 在程式中,經常需要將一種(通常是同為某個型別的)資料元素作為整體管理和使用,需要建立這種元素組,用變數記錄他們,傳進傳出函式等。一組元素可能發生變化(像增加或刪除元素。)
計算機圖形常用演算法實現1 DDA,中點畫線法,bresenham演算法
打算手動實現圖形學中的絕大部分演算法。 執行環境winform+c# (程式碼是通用的,如果在其他地方畫圖,只需要替換掉畫點的函式即可) 我們的函式預設是按x座標順序遞增傳入的,因此在呼叫下面函式之前,需要保證p1.x<p2.x(可以減少討論數量) Point pp =
RSA,MD5,DES,Base64演算法原理大全
RSA,MD5,DES,Base64這幾種加密演算法專案中均有用過。網上多是某一演算法實現程式碼,或者某一演算法原理加實現。比較全面的比較少,所以我整理下常用加密演算法原理做下搬運工。 1. 什麼是RSA RSA演算法是現今使用最廣泛的公鑰密碼演算法,也是號稱地球上最
AES,DES加密JS原始檔及其使用方法
原始檔地址:https://github.com/dididi1234/crypto 進入之後直接下載CryptoJS.js,js中直接引用,小程式也一樣可以使用 使用方法: import CryptoJS from 'CryptoJS.js'; //aes加密 var aseKey ='你的key'
劍指offer第32題JS演算法:輸入一個整數n,求從1到n這n個整數的十進位制表示中1出現的次數。例如輸入12,從1到12這些整數中包含1的數字有1,10,11和12,1一共出現了5次
題目:輸入一個整數n,求從1到n這n個整數的十進位制表示中1出現的次數。例如輸入12,從1到12這些整數中包含1的數字有1,10,11和12,1一共出現了5次 這是我某一次去朋友公司面試試水時出的面試題,結果給我五分鐘我寫了個for迴圈的方法,被狠狠鄙視/哭笑不得 結果回來後好奇就跟同事
影象處理中,SIFT,FAST,MSER,STAR等特徵提取演算法的比較與分析(利用openCV實現)
本人為研究生,最近的研究方向是物體識別。所以就將常用的幾種特徵提取方式做了一個簡要的實驗和分析。這些實驗都是藉助於openCV在vs2010下完成的。基本上都是使用的openCV中內建的一些功能函式。 1. SIFT演算法 尺度不變特徵轉換(Scale-inva
常見演算法:C語言中連結串列的操作(建立,插入,刪除,輸出)
連結串列中最簡單的一種是單向連結串列,它包含兩個域,一個資訊域和一個指標域。這個連結指向列表中的下一個節點,而最後一個節點則指向一個空值。 一個單向連結串列包含兩個值: 當前節點的值和一個指向下一個節點的連結 一個單向連結串列的節點被分成兩個部分。第一個部分儲存或者顯示關於
關於時間,日期,星期,月份的演算法(Java中Calendar的使用方法)
package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class CalendarDemo { public static void m
演算法最優化(2)線性規劃問題中的常見概念辨析:可行解,最優解,基,基向量,非基向量,基變數,非基變數等等
線性規劃裡面有很多基本的概念容易弄混 已知標準型為: max Z=CX AX=b X≥0 可行解:滿足約束條件,AX=b,X≥0的解X稱為線性規劃問題的可行解。 最優解:使目標函式Z=CX達到最大值的可行解稱為最優解。 基,基向量,非基向量,基變數,非基變數 基本解(又叫做基解
演算法--中興面試:輸入兩個整數 n 和 m,從數列1,2,3.......n 中隨意取幾個數, 使其和等於 m
Q題目 程式設計求解 輸入兩個整數 n 和 m,從數列1,2,3…….n 中隨意取幾個數, 使其和等於 m ,要求將其中所有的可能組合列出來. Answer解法 這道題就是一道典型的動態規劃問題了,思路和揹包問題差不多,m就相當於揹包能容納的
計算機圖形學 學習筆記(一):概述,直線掃描轉換演算法:DDA,中點畫線演算法,Bresenham演算法
前言 感謝中國農大 趙明老師的分享~ 現在我要為我自己走向遊戲程式設計打下基石~ 1 計算機圖形學概論 1.1 計算機圖形學課程簡介 《計算機圖形學》是計算機、地理資訊系統、應用數學、機械、建築等專業本科教學中的一門重要的專業基礎課 如影