Visual FoxPro数据库加密算法的研究与实现

摘  要:对于最初给定的随机种子,随机函数都会生成一个相同的数列。数据库数据随机加密,是一种利用随机函数的随机数序列与数据库数据进行异或等运算、实现数据库数据加密的方法。本文对数据库数据随机加密算法进行了研究和探讨,给出了在Visual FoxPro中实现数据库数据随机加密、解密的程序代码。
关键词:Visual FoxPro;数据库;随机加密;随机函数
 
Visual FoxPro是目前应用最广的数据库之一。对Visual FoxPro数据库中的敏感数据进行加密处理,实现数据存储的安全保护,是大多数用户所希望的。

1 加密算法概述

数据加密的技术可分为两类,即对称加密(私人密钥加密)和非对称加密(公开密钥加密)。对称加密以DES(Data Encryption Standard)算法为典型代表,非对称加密通常以RSA(Rivest Shamir Adleman)算法为代表。对称加密的加密密钥和解密密钥相同,非对称加密的加密密钥和解密密钥不同,加密密钥可以公开而解密密钥需要保密。
1.1 对称加密
对称加密算法中,主要有:序列密码加密法和分组密码加密法。
1.1.1 序列密码加密法
这种加密法将明文与一串同等长度的数据进行运算(例如,异或运算)。如果所用的数据是随机数且不重复使用,就可以实现了“一次一密”的加密。这类密码的明文和密文长度一般不变,传递迅速、快捷。
1.1.2 分组密码加密法
——这种加密法将明文按固定长度分组,对各组数据用不同的密钥加密(或脱解密)。这类密码按分组进行加密变换,一个字符数据不仅与密钥有关,而且还与其他字符数据有关,密码分析的穷尽量很大。
——在使用分组密码时,对明文尾部不满一个整组的碎片通常采用填充随机数的办法将其扩充为一个整组,然后进行正常加密。由于尾组的扩充,使得密文的长度大于明文的长度。
1.2 非对称加密(公开密钥加密)
非对称加密(公开密钥加密)需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。公开密钥加密法的缺点是加/脱解密速度较慢,适用于对少量数据进行加密,常用于用户认证、数字签名以及密钥传输等。
在以上加密算法中,序列加密算法多用于数据库数据加密。本文所讨论的随
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值