原创 openssl md5

關於 16位和32位  md5得到的是一個16字節的散列值 每個字節用16進制(0x**)格式成兩個字符,連起來得到一個32個字符的串這就是所說的32位。16位就是取的32位的中間段md5(aabbccdd) 32位 = bf3b2290e

原创 禁用字檢測

utf8編碼的數據可直接使用下面的代碼最關鍵的步驟就是把字符串拆成單個字,UTF-8編碼的字,如果只有一個字節則其最高二進制位爲0;如果是多字節,其第一個字節從最高位開始,連續的二進制位值爲1的個數決定了其編碼的位數,其餘各字節均以10開頭

原创 多線程的坑--volatile

多線程編程中 開優化選項時要謹慎否則容易掉坑裏先看下面的代碼,開起兩個線程,第二個線程把第一個線程的循環條件置成false 按邏輯來說這個應該能順利結束的不過如果用g++ -O3 -o multiThread multiThread.cpp

原创 openssl rc5 ecb模式

ECB(Electronic Code Book)/電碼本模式原理非常簡單數據按照8個字節一段進行加密或解密得到一段8個字節的密文或者明文,最後一段不足8個字節,按照需求補足8個字節進行計算,之後按照順序將計算所得的數據連在一起即可,各段數