<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          stm32的唯一ID編碼

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

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

          本文引用地址:http://www.ex-cimer.com/article/201612/325214.htm

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

          staticu32 CpuID[3];
          staticu32 Lock_Code;

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

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



          關(guān)鍵詞: stm32ID編

          評(píng)論


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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();