c++怎么编写程序实现文件加密和解密?

c++怎么编写程序实现文件加密和解密?,第1张

#include <iostream>

#define BufLength 100

void Encrypted_Decrypt(char* filepath, char* sec, int seclegth)

{

FILE * file = fopen(filepath, "r+")

if (NULL == file)

{

std::cout <<"打开文件出错" <<std::endl

return

}

char buffer[BufLength]

char secret[BufLength]

int n = 0

while ((n = fread(buffer, 1, BufLength, file))>0)

{

for (int i = 0i <ni++)

secret[i] = buffer[i] ^ sec[i % (seclegth + 1)]//加密

fseek(file, -n, SEEK_CUR)//移动字符串头在文件中的位置

fwrite(secret, 1, n, file)//覆盖写入秘文

fseek(file, n, SEEK_CUR)//移动字符串尾在文件中的位置,下次循环读取下一串

}

fclose(file)

}

int main()

{

std::cout <<"输入密码:"

char psw[256]

std::cin >>psw

std::cout <<"加密或者解密文件(全路径如d:/1.txt):"

char filepath[256]

std::cin >>filepath

Encrypted_Decrypt(filepath, psw, strlen(psw))

return 0

}

import java.io.*

public class SecretExample {

public static void main(String[] args) {

File fileOne=new File("d:/hello.txt"),fileTwo=new File("d:/hello.secrect")

char b[]=new char[100]

try

{

FileReader in= new FileReader(fileOne)

FileWriter out=new FileWriter(fileTwo)

int n=-1

while((n=in.read(b))!=-1)

{

for(int i=0i<ni++)

{

b[i]=(char)(b[i]^'a')

}

out.write(b)

//写入文件

}

out.close() //关闭out

in=new FileReader(fileTwo)

System.out.println("加密后的文件内容:")

while((n=in.read(b))!=-1)

{

String str=new String(b,0,n)

System.out.println(str)

}

in=new FileReader(fileTwo)

System.out.println("解密后的文件内容:")

while((n=in.read(b))!=-1)

{

for(int i=0i<ni++)

{

b[i]=(char)(b[i]^'a')

}

System.out.printf(new String(b,0,n))

}

in.close() //关闭in

}

catch(IOException e)

{

System.out.println(e)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11623823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存