打造一个基于单片机的“USB”密钥
发布时间:2016-1-28 10:03
发布者:designapp
最近一直在学习单片机C语言,自从看了电影“超能查派”后,就一直想仿制一个里面的那个USB密钥,所以最近研究了下,做出了这么一个东西,经过本作品学到了不少东西 所用单片机:AT89C51 下载方式:AVR_ISP 做本作品的用意是来学习I2C通讯,所以程序方面,在网上找了许多类似功能的程序,然后尝试删减修改其功能,比较不同来学习,最终终于实现了想要的功能,也算对I2C有了初步的了解。 采用24C08储存密码,然后采用单片机进行读取,对比密码是否符合,考虑到美观问题,所以将此IC封装在了USB插头里,所以得先拆一个USB插头,去除内芯: ![]() 由于手头没有卡尺,所以用普通刻度尺完成封装的测量 ![]() ![]() 采用热转印法制作一块PCB 使用激光打印机打印: ![]() ![]() 熨斗加热 ![]() 转印效果还是不错的: ![]() 腐蚀(使用的TB上买的蓝色环保腐蚀剂,有人说是过硫酸钠,我也不确定): ![]() ![]() ![]() 裁剪成型 : ![]() 将所需原件焊上(为避免USB触点氧化,所以需要镀锡,然后进行打磨): ![]() 装进USB头里,正好: ![]() ![]() 用热熔胶填补内部空间: ![]() 找个塑料盖套上,美观些: ![]() ![]() 哥俩好在内部粘接 ![]() 成品: ![]() 使用LED作演示,投入使用的话,将LED换成其他设备 实验后反思:本密钥虽然起到了鉴权的功能,但是存在被复制的风险,所以打算在程序里加一个密码计算公式,每次解锁成功后计算一个新密码写入到密钥里的EEPROM里供下次解锁使用,这样复制者即使复制了密码也没有太大用处了,况且复制者不可能每次都得逞,有大数据来计算公式,所以打算按照这个想法继续改进下。 |
网友评论