原创 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); 添加系統調用實現源碼 隨便找一個文件