加密原理
一次性密码(One-time password)。原理非常简单,加密的过程就是明文和密钥(key)进行异或,得到密文,而解密的过程就是密文和密钥(key)异或,得到明文。
这里面最重要的概念是异或操作;
什么是异或:
异或,是一个数学运算符,英文为exclusive OR,缩写为xor,应用于逻辑运算。异或也叫半加运算,其运算法则相当于不带进位的二进制加法。
异或的运算法则如下:
- 1、真异或假其结果为真;
- 2、假异或真其结果为真;
- 3、假异或假其结果为假;
- 4、真异或真其结果为假。
总结就是:
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
加密实现
- 读取文件信息,获取文件长度
toBeEncryptedFile = open(file