原创 SHA1算法代碼實現
sha1釋義:安全哈希算法(Secure Hash Algorithm)主要適用於數字簽名標準 (Digital Signature Standard DSS)裏面定義的數字簽名算法(Digital Signature Algorithm
原创 ROM、RAM、FLASH、DDR、EMMC、SSD
目錄 ROM 1.ROM 2.PROM 3.EPROM 4.OTPROM 5.EEPROM 6.快閃存儲器 RAM 1.靜態隨機存儲器(SRAM) 2.動態隨機存儲器(DRAM) SDRAM SDRAM DDR1 DDR2 DDR
原创 double、long、unsigned、int、char類型數據在c語言中所佔字節數學習筆記
標準中沒有說明各個類型的數據分別佔多少字節,但是規定如下: 長整型至少和整形一樣長, 整形應該至少應該和短整形一樣長, 短整型至少爲16位, 長整型至少是32位。 一般數據類型佔有的字節的數跟編譯器有關,和你的
原创 MD5算法c語言實現
MD5信息摘要算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16字節)的散列值(hash value),用於確保信息傳輸完整一致。MD5由美國密碼學家羅納德·
原创 非對稱加密RSA算法c語言實現
1976年,美國學者Dime和Henman爲解決信息公開傳送和密鑰管理問題,提出一種新的密鑰交換協議,允許在不安全的媒體上的通訊雙方交換信息,安全地達成一致的密鑰,這就是“公開密鑰系統”。相對於“對稱加密算法”這種方法也叫做“非對稱加密算
原创 網絡link狀態檢測
Linux系統提供了兩類ioctl系統調用SIOCETHTOOL和SIOCXMIIXXX,用於控制或者獲取網卡PHY的狀態。這兩類系統調用的實現取決於PHY驅動中對應ioctl的實現,一般的PHY驅動都會實現至少其中的一類。下面以獲取網卡
原创 c語言實現CRC檢驗算法
今天抽空學習了下crc的使用,現將測試代碼貼至下方,整個代碼實現如下幾個功能 代碼中提供創建crc_table的函數,並且也有做好的crc_table的函數 首先打開一個文件,每讀取1024字節,對這1024個字節獲取crc校驗值,然後寫
原创 位操作符學習筆記
位操作符分爲AND、OR、XOR。 AND操作:如果兩個位都是1,結果爲1,否則爲0,操作符爲& 0 1 0 0 0 1 0 1 OR操作:如果兩個位都是0,結果爲0,否則爲1,操作符爲|
原创 linux I2C驅動框架(一)
目錄 I2C核心。 I2C 總線驅動。 I2C 設備驅動。 linux I2C代碼 i2c-core.c。 i2c-dev.c。 chips 文件夾。 busses 文件夾。 algos 文件夾。 I2C結構體 i2c_adapter 結
原创 對稱加密AES算法c語言實現
什麼是對稱加密:對稱加密就是指,加密和解密使用同一個密鑰的加密方式。 發送方使用密鑰將明文數據加密成密文,然後發送出去,接收方收到密文後,使用同一個密鑰將密文解密成明文讀取。對稱加密計算量小、速度塊,適合對大量數據進行加密的場景。 常見的
原创 w25qxx的三字節地址模式和四字節地址模式
我們知道w25qxx支持3-Byte和4-Byte模式,其實就是地址空間不同,對應的空間大小不同,3-Byte空間最大隻達到128Mb W25Q256FV提供了兩種地址模式,可用於指定存儲器陣列中的任何數據字節。 3字節地址模式向後兼容僅
原创 module_init與module_exit的分析
在編寫驅動模塊的時候有兩個函數經常被使用也必須被使用,分別是module_init和module_exit,這兩個函數分別在加載和卸載驅動時被調用,即調用insmod和rmmod命令的時候,但是insmod和rmmod不能
原创 sha2算法介紹和源碼實現
1. SHA256簡介 SHA256是SHA-2下細分出的一種算法 SHA-2,名稱來自於安全散列算法2(英語:Secure Hash Algorithm 2)的縮寫,一種密碼散列函數算法標準,由美國國家安全局研發,屬於SHA算法之一,是
原创 ubuntu14.04下samba的安裝和配置
重啓防火牆 sudo ufw disable //關閉防火牆 sudo ufw enable //開啓 sudo ufw status //查看防火牆狀態 安裝 sudo apt-get install samba sudo
原创 linux添加一個系統調用(syscall)
添加系統調用函數頭文件 在include/linux/syscalls.h文件中的#endif前添加自己的系統調用函數聲明,內容如下: asmlinkage long sys_test(void); 添加系統調用實現源碼 隨便找一個文件