主权项 |
一种基于流密码的动态加密解密方法,其特征在于,包括:读取明文文件,获得明文文件的长度m后,根据明文文件的长度m,选择一个小于长度m的自然数k作为加密系数;对密钥文件的不同的二进制位,设定其对应的加密规则及相应的解密规则;加密步骤:选取参考文件,并读取密钥文件,选择密钥文件的一个二进制位,根据该二进制位对应的加密规则,结合加密系数及参考文件,将明文文件的二进制位进行读写处理,进而生成密文文件;解密步骤:读取密钥文件,根据加密过程中所选择的二进制位对应的解密规则,结合加密系数及参考文件,将密文文件的二进制位进行读写处理,进而得到还原的明文文件;所述加密步骤包括:S11、读取明文文件的字节数,根据该字节数,在计算机内存开辟明文存储空间,读取明文文件并将其存储在明文存储空间中,并创建第一明文字符指针Q1指向明文存储空间的第k位,同时创建第二明文字符指针Q2指向明文存储空间的第k+1位;S12、根据明文文件的字节数,选择参考文件;S13、根据明文文件的字节数,在计算机内存开辟参考存储空间后,读取参考文件并将其存储在参考存储空间中,并创建参考字符指针pf指向参考存储空间的首地址;S14、读取密钥文件的字节数,根据密钥文件的字节数,在计算机内存开辟密钥存储空间后,读取密钥文件并将其存储在密钥存储空间中,并创建密钥字符指针pp指向密钥存储空间的首地址;S15、根据明文文件的字节数,在计算机内存开辟密文存储空间,并创建密文字符指针pc指向密文存储空间的首地址;S16、根据密钥字符指针pp所指向的二进制字符串的位所定义的加密规则,按顺序扫描参考字符指针pf所指向的二进制字符串的位,结合该扫描情况及加密规则,将第一明文字符指针Q1或第二明文字符指针Q2所指向的二进制位填入密文字符指针pc指向的密文存储空间中;S17、读取密文存储空间的字节,进而生成密文文件;其中,所述明文存储空间为循环链表,k为加密系数,所述第一明文字符指针Q1是向前遍历的,所述第二明文字符指针Q2是向后遍历的。 |