新聞中心

stm32的唯一ID編碼

作者: 時間:2016-12-03 來源:網(wǎng)絡(luò) 收藏
產(chǎn)品唯一的身份標(biāo)識非常適合:

● 用來作為序列號(例如USB字符序列號或者其他的終端應(yīng)用)
● 用來作為密碼,在編寫閃存時,將此唯一標(biāo)識與軟件加解密算法結(jié)合使用,提高代碼在閃存存儲器內(nèi)的安全性。
● 用來激活帶安全機(jī)制的自舉過程
96位的產(chǎn)品唯一身份標(biāo)識所提供的參考號碼對任意一個STM32微控制器,在任何情況下都是唯一的。用戶在何種情況下,都不能修改這個身份標(biāo)識。
這個96位的產(chǎn)品唯一身份標(biāo)識,按照用戶不同的用法,可以以字節(jié)(8位)為單位讀取,也可以以半字(16位)或者全字(32位)讀取。
基地址:0x1FFF F7E8

本文引用地址:http://m.butianyuan.cn/article/201612/325214.htm

每個CPU 出廠的時候都
配置的一個ID,96 位的.這個唯一碼可以利用作軟件加密.......

staticu32 CpuID[3];
staticu32 Lock_Code;

void GetLockCode(void)
{
//獲取CPU唯一ID
CpuID[0]=*(vu32*)(0x1ffff7e8);
CpuID[1]=*(vu32*)(0x1ffff7ec);
CpuID[2]=*(vu32*)(0x1ffff7f0);
//加密算法,很簡單的加密算法
Lock_Code=(CpuID[0]>>1)+(CpuID[1]>>2)+(CpuID[2]>>3);
}

然后再用上次所用的 FLASH_ProgramWord(LOCK_ADDR,Lock_Code); 寫到FLASH 的某個角落就好了,然后再在程序中驗(yàn)證這個值是否正確。感覺ID的調(diào)取很是方便倒是加密算法讓人頭痛,當(dāng)然了要是把MD5移植過來應(yīng)該不是太難?,F(xiàn)在市場中這么多的廉價J-link還不是中國牛人xxx.



關(guān)鍵詞: stm32ID編

評論


技術(shù)專區(qū)

關(guān)閉