TEA加密 cmd下使用

在安全学领域,TEA(Tiny Encryption Algorithm)是一种分组,它的实现非常简单,通常只需要很精短的几行代码。TEA 算法最初是由剑桥计算机实验室的 David Wheeler 和 Roger Needham 在 1994 年设计的。

以下是TEA算法C++实现(于4月21日改进了参数的设置)

#include
#include
#include
#include
#include
#define num_rounds 32
using namespace std;
void encipher(unsigned int v[2],unsigned int key[4])
{
    unsigned int v0=v[0],v1=v[1],sum=0,delta=0x9E3779B9;
    for(int i=0;i>5))+v1)^(sum+key[sum&3]);
        sum+=delta;
        v1+=(((v0<<4)^(v0>>5))+v0)^(sum+key[(sum>>11)&3]);
    }
    v[0]=v0;
    v[1]=v1;
}
void decipher(unsigned int v[2],unsigned int key[4])
{
    unsigned int v0=v[0],v1=v[1],delta=0x9E3779B9,sum=delta*num_rounds;
    for(int i=0;i>5))+v0)^(sum+key[(sum>>11)&3]);
        sum-=delta;
        v0-=(((v1<<4)^(v1>>5))+v1)^(sum+key[sum&3]);
    }
    v[0]=v0;
    v[1]=v1;
}
int main(int argc,char *argv[])
{
    if(argc!=4&&argc!=5)
    {
        cout<

代码在cmd下使用需要传入5个参数,分别是

.exe的名称、e或d(传入不是e的时候默认解密)、加密\解密密码、源文件、目标文件

TEA加密 cmd下使用_第1张图片

注意!!

源文件和目标文件不能是同一个文件,否则会造成文件的丢失

TEA算法可以应用在bat脚本下,用于文件的加密和防护。

—————————————————————————————————————————————

4月21日

源代码修正,适用于4个参数与5个参数的情况

4个参数即( 程序名 运行方式 密码 源文件)此时源文件即目标文件,TEA.exe将直接对密源文件内容加密,加密后的内容也存储在源文件中,省去了bat下删除和重命名的麻烦。

缺点是无法直接对加密后的文件修改类型(当然bat批处理后这些都不是问题)

你可能感兴趣的:(信安)