OTP EEPROM介绍

Camera Module 一般会采取两种方式来记录该单体的一些讯息,一种是OTP(One Time Programmable)也称作NVM(Non-Volatile Memory),另外一种是EEPROM(Electrically Erasable Programmable Read - Only Memory)。
OTP:OTP是Sensor中自带的,它就是和Sensor寄存器同等级别的一组供用户可读可写的Sensor寄存器,当然Sensor的一些寄存器实际上也可以称OTP,只是Sensor厂没有开放或者教会你如何去写这些寄存器而已。对于OTP的理解的话,一般的OTP可以理解为这样,它就是熔断式的寄存器,分析它的一个byte,可以认为它有八根线,代表一个八位二进制数,当你把其中一位置为1后,那这位对应的线就被熔断了,不可恢复。也就说一个Byte的OTP可以写很多次,但是一旦这个byte的这一位(bit)被置过1,那这一位永远是1。现在的Sensor又出现一种可以纠正的OTP就是说当你置过1后,你还是有机会将它置成0,这种Sensor具有的功能叫做ECC(error correcting code )功能。关于OTP的读写的话,一般是按Sensor Datasheet中的Procedure来进行即可。由于它是Sensor的一部分所以它和Sensor公用同一个Driver IC(一个用来区别设备的编号,设备自带)

EEPROM:它和Sensor是两个设备,可以这样认为,总是以外挂的形式使用。它和OTP不同的是,你写错了,可以重复写,因为它的名字就已经说明了它的功能,它是可擦除的。关于它的读写,因为是两个设备所以要操作IIC时要使用EEPROM的Driver IC而不是Sensor Driver IC。

  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Secure OTP(One-Time Password)是一种用于身份验证的安全机制。它基于密码学算法生成一次性密码,用于在用户登录或进行敏感操作时进行验证。Secure OTP可以提供更高的安全性,因为每个密码只能使用一次,有效期很短,并且密码是动态生成的,不容易被猜测或重复使用。 以下是一个使用HMAC-SHA算法生成Secure OTP的Python示例代码[^1]: ```python import hmac import hashlib import time def generate_otp(secret_key): counter = int(time.time() / 30) # 每30秒生成一个新的密码 counter_bytes = counter.to_bytes(8, byteorder='big') # 将计数器转换为字节数组 hmac_digest = hmac.new(secret_key, counter_bytes, hashlib.sha1).digest() # 使用HMAC-SHA1算法生成摘要 offset = hmac_digest[-1] & 0x0F # 获取摘要的最后一个字节的低4位作为偏移量 otp = (hmac_digest[offset] & 0x7F) << 24 | (hmac_digest[offset + 1] & 0xFF) << 16 | \ (hmac_digest[offset + 2] & 0xFF) << 8 | (hmac_digest[offset + 3] & 0xFF) # 将4个字节的值转换为整数 otp = otp % 10 ** 6 # 将整数限制在6位数范围内 return str(otp).zfill(6) # 将密码补齐为6位数 # 使用示例 secret_key = b'secret_key' # 密钥,可以是任意字节串 otp = generate_otp(secret_key) print("Secure OTP:", otp) ``` 这段代码使用了HMAC-SHA1算法生成摘要,并从摘要中提取了一个6位数的密码。每30秒生成一个新的密码,以确保安全性。你可以根据需要调整计数器的时间间隔和密码的位数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值