导航:首页 > 文档加密 > 制作一个加密程序最恰当过程

制作一个加密程序最恰当过程

发布时间:2022-09-25 22:20:07

‘壹’ C语言设计一个用简单的加密程序,即用字母替换的方式加密,程序运行中发现问题,求解释。

原因就是char是1个字节的,你不能超过127(hi,楼上的,不是128哦,是-128~127不要误人子弟),你到后面的vwxyz已经溢出,所以是乱码。
我的解决方法就很简单,就是换成unsigned char 数组,这样取值范围增大到(0~255)就可以了,既简单又不破坏原有的结构

还有
else if(str[i]<'a')
{
str[i]+=26;
}
这句话是废话,可以删掉

我修改过的版本
#include <stdio.h>
#include <string.h>
#include <ctype.h>

void EncodeString(unsigned char *str,int key)
{
int length,i;//length为传入字符串长度,i用作循环计数器
length=strlen(str);
for(i=0;i<length;i++)//对字符串中的每个字符依次进行加密
{
if(isupper(str[i]))//对大写字母加密
{
str[i]+=key%26;
if(str[i]>'Z')
{
str[i]-=26;
}

}
else if(islower(str[i]))//对小写字母加密
{
str[i]+=key%26;
if(str[i]>'z')
{
str[i]-=26;
}

}

}
}

void main()
{
unsigned char arr[50],buffer;//arr[50]用来接收字符串信息,buffer用来接收缓冲区中的回车
int key;//key为加密秘钥
printf("This program encodes messages using a cyclic cipher.\n");
printf("To stop, enter 0 as the key.\n");
while(1)//程序一直运行,直到输入密钥0为止
{
printf("Enter the key: ");
scanf("%d",&key);
scanf("%c",&buffer);
if(0==key)
{
break;//输入密钥为0,则退出程序
}
printf("Enter a message: ");
scanf("%s",arr);
scanf("%c",&buffer);
EncodeString(arr,key);
printf("Encoded message: %s\n",arr);
}
}

‘贰’ 写一个java加密程序

publicclass_Test2
{
publicstaticvoidmain(String[]args)throwsFileNotFoundException,IOException
{
//为了便于理解,所以有的部分为了通俗写得不够好
Scannersc=newScanner(System.in);
Stringline=sc.nextLine();
line=encrypt(line);
System.out.println(line);
newFileOutputStream("d:\word.txt").write((line+" ").getBytes());

}
//该方法是将一行数据简单加密(恺撒加密)
privatestaticStringencrypt(Stringline){
char[]chars=line.toCharArray();
for(inti=0;i<chars.length;i++)
{
//由ASCII码表得知大写字母是65-90,小写字母是97-122
if((chars[i]>=65&&chars[i]<90)||(chars[i]>=97&&chars[i]<122))
{
chars[i]=(char)(chars[i]+1);
}
if(chars[i]==90)
{
chars[i]='a';
}
if(chars[i]==122)
{
chars[i]='A';
}
}
returnnewString(chars);
}
}

‘叁’ 怎么用C#编写一个文件夹加密程序啊紧急!

http://..com/question/5307554.html

如何给文件夹加密?
时间: 2005-06-15 17:48:16 | [<<] [>>]
--------------------------------------------------------------------------------

--
windows下想加密就单独弄个账户把文件夹设成只有自己能访问,但是管理员还是可以访问,所以最好就用管理员账号,其他的帐号不能是管理员。其他的觉得没有什么好方法。还是用工具比较可靠
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

NTFS格式下加、解密问题

NTFS是WinNT以上版本支持的一种提供安全性、可靠性的高级文件系统。在Win2000和WinXP中,NTFS还可以提供诸如文件和文件夹权限、加密、磁盘配额和压缩这样的高级功能。

一、加密文件或文件夹
步骤一:打开Windows资源管理器。
步骤二:右键单击要加密的文件或文件夹,然后单击“属性”。
步骤三:在“常规”选项卡上,单击“高级”。选中“加密内容以便保护数据”复选框

在加密过程中还要注意以下五点:
1.要打开“Windows 资源管理器”,请单击“开始→程序→附件”,然后单击“Windows 资源管理器”。
2.只可以加密NTFS分区卷上的文件和文件夹,FAT分区卷上的文件和文件夹无效。
3.被压缩的文件或文件夹也可以加密。如果要加密一个压缩文件或文件夹,则该文件或文件夹将会被解压
4.无法加密标记为“系统”属性的文件,并且位于systemroot目录结构中的文件也无法加密。
5.在加密文件夹时,系统将询问是否要同时加密它的子文件夹。如果选择是,那它的子文件夹也会被加密,以后所有添加进文件夹中的文件和子文件夹都将在添加时自动加密。

二、解密文件或文件夹
步骤一:打开Windows资源管理器。
步骤二:右键单击加密文件或文件夹,然后单击“属性”。
步骤三:在“常规”选项卡上,单击“高级”。
步骤四:清除“加密内容以便保护数据”复选框。

同样,我们在使用解密过程中要注意以下问题:
1.要打开“Windows资源管理器”,请单击“开始→程序→附件”,然后单击“Windows资源管理器”。
2.在对文件夹解密时,系统将询问是否要同时将文件夹内的所有文件和子文件夹解密。如果选择仅解密文件夹,则在要解密文件夹中的加密文件和子文件夹仍保持加密。但是,在已解密文件夹内创立的新文件和文件夹将不会被自动加密。

以上就是使用文件加、解密的方法!而在使用过程中我们也许会遇到以下一些问题,在此作以下说明:
1.高级按钮不能用
原因:加密文件系统(EFS)只能处理NTFS文件系统卷上的文件和文件夹。如果试图加密的文件或文件夹在FAT或FAT32卷上,则高级按钮不会出现在该文件或文件夹的属性中。
解决方案:
将卷转换成带转换实用程序的NTFS卷。
打开命令提示符。
键入:Convert [drive]/fs:ntfs
(drive 是目标驱动器的驱动器号)
2.当打开加密文件时,显示“拒绝访问”消息
原因:加密文件系统(EFS)使用公钥证书对文件加密,与该证书相关的私钥在本计算机上不可用。
解决方案:
查找合适的证书的私钥,并使用证书管理单元将私钥导入计算机并在本机上使用。
3.用户基于NTFS对文件加密,重装系统后加密文件无法被访问的问题的解决方案(注意:重装Win2000/XP前一定要备份加密用户的证书):
步骤一:以加密用户登录计算机。
步骤二:单击“开始→运行”,键入“mmc”,然后单击“确定”。
步骤三:在“控制台”菜单上,单击“添加/删除管理单元”,然后单击“添加”。
步骤四:在“单独管理单元”下,单击“证书”,然后单击“添加”。
步骤五:单击“我的用户账户”,然后单击“完成”(如图2,如果你加密用户不是管理员就不会出现这个窗口,直接到下一步) 。
步骤六:单击“关闭”,然后单击“确定”。
步骤七:双击“证书——当前用户”,双击“个人”,然后双击“证书”。
步骤八:单击“预期目的”栏中显示“加密文件”字样的证书。
步骤九:右键单击该证书,指向“所有任务”,然后单击“导出”。
步骤十:按照证书导出向导的指示将证书及相关的私钥以PFX文件格式导出(注意:推荐使用“导出私钥”方式导出,这样可以保证证书受密码保护,以防别人盗用。另外,证书只能保存到你有读写权限的目录下)。
4.保存好证书
注意将PFX文件保存好。以后重装系统之后无论在哪个用户下只要双击这个证书文件,导入这个私人证书就可以访问NTFS系统下由该证书的原用户加密的文件夹(注意:使用备份恢复功能备份的NTFS分区上的加密文件夹是不能恢复到非NTFS分区的)。

最后要提一下,这个证书还可以实现下述用途:
(1)给予不同用户访问加密文件夹的权限
将我的证书按“导出私钥”方式导出,将该证书发给需要访问这个文件夹的本机其他用户。然后由他登录,导入该证书,实现对这个文件夹的访问。
(2)在其也WinXP机器上对用“备份恢复”程序备份的以前的加密文件夹的恢复访问权限
将加密文件夹用“备份恢复”程序备份,然后把生成的Backup.bkf连同这个证书拷贝到另外一台WinXP机器上,用“备份恢复”程序将它恢复出来(注意:只能恢复到NTFS分区)。然后导入证书,即可访问恢复出来的文件了。

Win98加密文件夹四法

一、文件夹属性法

在“Windows资源管理器”窗口,右键单击要加密的文件夹,单击“属性”,选中“隐藏”复选框。在注册表的“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL”分支下,将“Checkedvalue”的键值设置为数字“0”。以后,即使在“Windows资源管理器”窗口,单击“查看”菜单中的“文件夹选项”,单击“查看”选项卡,选中“显示所有文件”复选钮,也无法看到具有隐藏属性的文件夹。

二、“回收站”法

首先确认选中了“显示所有文件”复选钮,并且注册表中“Checkedvalue”的键值为“1”。然后,在“Windows资源管理器”窗口,右键单击“C:\RECYCLED”文件夹(这是C盘上“回收站”对应的文件夹),再单击“属性”,单击“常规”选项卡,清除“启用缩略图方式查看”和“只读”复选框,单击“确定”按钮。关闭并重新启动“Windows资源管理器”后,将会看到“C:\RECYCLED”文件夹中有一个desktop.ini文件。把该文件复制到要加密的文件夹中,并把该文件夹设为“只读”属性。

三、“文件管理器”法

单击“开始/运行”,键入“winfile”,单击“确定”按钮,打开“文件管理器”窗口,单击“查看”菜单中的“按文件类型”,选中“显示隐藏/系统文件”复选框,单击“确定”按钮。把要加密的文件夹拖到“C:\RECYCLED”文件夹或者其他分区的“RECYCLED”文件夹。这样,在“我的电脑”或“Windows资源管理器”窗口中就看不到这个文件夹了。

四、设置密码法

1、打开“资源管理器”,选定要加密或要保护的文件夹(文件目录),在其中空白处单击鼠标右键,选择“自定义文件夹…”选项;
2、在“自定义文件夹”的复选框中,选择“创建或编辑HTML文档”,并单击“下一步”,系统准备启动HTML编辑器;
3、单击“下一步”,系统启动HTML编辑器,自动打开Folder.htt文档;
4、编辑Folder.htt文档,搜索“javascript”字符,在下方顶头输入以下3行内容:

var pass = prompt("请输入密码")

if(pass != "ABC")

{window.location="E:"};

5、保存Folder.htt文档并退出编辑,选择“完成”;到此,对文件夹的加密或保护便已完成;
6、加密测试,关闭已打开的所有文档及文件夹,重新打开“资源管理器”,点击已加密的文件夹,系统便会提示输入密码,输入正确的密码(本文设定的密码为ABC)就可以访问该文件夹,反之则会转入E盘而无法访问,从而保护该文件夹及其中的文档。

‘肆’ 写一个简单的加密程序

简单看了下,不是密码表加密,应该就是字符代替,帮你写了个函数,核心为switch语句,直接用字符来判断,假设输入为T,则将其替换为X存入数组a[100],注意我写的替换是严格按照你给的The Birds name was squawk,包括大小写。有什么不理解的就PM我。
#include "stdio.h"
main()
{
char a[100],out,flag;
int i;

printf("please input the words:\n");
for(i=0;(flag=getchar())!='\n';i++){

switch(flag){
case'a':out='H'; break;
case'T':out='X'; break;
case'h':out='M'; break;
case'e':out='S'; break;
case' ':out=' '; break;
case'B':out='K'; break;
case'i':out='B'; break;
case'r':out='Y'; break;
case'd':out='P'; break;
case's':out='O'; break;
case'n':out='Z'; break;
case'm':out='Q'; break;
case'w':out='F'; break;
case'q':out='B'; break;
case'u':out='R'; break;
case'k':out='U'; break;
}
a[i]=out;
}
printf("");
printf("%s",&a);
getchar();
}

‘伍’ VB中如何编写一个加密程序

编写一个加密软件,要求将源文件按字节逐位倒排序加密法加密。

字节逐位倒排序加密法是以比特为单位的换位加密方法,用vb实现的具体算法是:

(1) 以二进制模式打开源文件;

(2) 从源文件第i位读取一个字节,假设为字母“a”,得到“a”的ascii值为65;

(3) 将65转换成八位二进制串为“01000001”;

(4) 将“01000001”按字节逐位倒排序得另一个八位二进制串“10000010”;

(5) 将“10000010”转换成十进制再写回源文件第i位置,完成一个字节的加密;

(6) 重复(2)、(3)、(4)和(5),直到所有字节加密结束。

为了使程序模块化,我们用函数过程bytetobin完成将字节型数据转换成二进制串(其实质就是将十进制数转换成八位二进制串);用函数过程bintobyte将二进制串转换成字节型数据(实质是将八位二进制串转换成十进制数):用函数过程reverse将八位二进制串逐位倒排序。具体程序如下:

function bytetobin(m as byte) as string ' 将字节型数据转换成八位二进制字符串
dim c$
c$ = ""
do while m <> 0
r = m mod 2
m = m \ 2
c$ = r & c$
loop
c$ = right("00000000" & c$, 8)
bytetobin = c$
end function
function reverse(m as string) as string ' 将八位二进制字符串颠倒顺序
dim i%, x$
x = ""
for i = 1 to 8
x = mid(m, i, 1) & x
next i
reverse = x
end function
function bintobyte(m as string) as byte ' 将八位二进制串转换成十进制
dim x as string * 1, y%, z%
z = 0
for i = 1 to 8
x = mid(m, i, 1)
y = x * 2 ^ (8 - i)
z = z + y
next i
bintobyte = z
end function
private sub command1_click()
dim x as byte, i%, fname$
fname = inputbox("请输入要加密的文件名!注意加上路径名:")
if dir(fname) = "" then
msgbox "文件不存在!"
exit sub
end if
open fname for binary as #1 ' 以二进制访问模式打开待加密文件
for i = 1 to lof(1) ' lof函数是求文件长度的内部函数
get #1, i, x ' 取出第i个字节
x = bintobyte(reverse(bytetobin(x))) ' 这里调用了三个自定义函数
put #1, i, x ' 将加密后的这个字节写回到文件原位置
next i
close
msgbox "任务完成!"
end sub

‘陆’ C语言设计一个简单的加密解密程序

C语言设计一个简单的加密解密程序如下:
加密程序代码:
#include<stdio.h>
main()
{
char
c,filename[20];
FILE
*fp1,*fp2;
printf("请输入待加密的文件名:\n");
scanf("%s",filename);
fp1=fopen(filename,"r");
fp2=fopen("miwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=c-32;
c=126-c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
解密程序代码:
#include<stdio.h>
#include<string.h>
main()
{
char
c,filename[20];
char
yanzhengma[20];
FILE
*fp1,*fp2;
printf("请输入待解密文件名:\n");
scanf("%s",filename);
printf("请输入验证码:\n");
scanf("%s",yanzhengma);
if(strcmp(yanzhengma,"shan")==0)
{
fp1=fopen(filename,"r");
fp2=fopen("yuanwen.txt","w");
do
{
c=fgetc(fp1);
if(c>=32&&c<=126)
{
c=126-c;
c=32+c;
}
if(c!=-1)
fprintf(fp2,"%c",c);
}
while(c!=-1);
}
else
{
printf("验证码错误!请重新输入:\n");
scanf("%s",filename);
}
}

‘柒’ 怎样用VB编写一个文件加密程序

字节逐位倒排序加密法是以比特为单位的换位加密方法,用VB实现的具体算法是:
(1) 以二进制模式打开源文件;
(2) 从源文件第I位读取一个字节,假设为字母“A”,得到“A”的ASCII值为65;
(3) 将65转换成八位二进制串为“01000001”;
(4) 将“01000001”按字节逐位倒排序得另一个八位二进制串“10000010”;
(5) 将“10000010”转换成十进制再写回源文件第I位置,完成一个字节的加密;
(6) 重复(2)、(3)、(4)和(5),直到所有字节加密结束。
为了使程序模块化,我们用函数过程ByteToBin完成将字节型数据转换成二进制串(其实质就是将十进制数转换成八位二进制串);用函数过程BinToByte将二进制串转换成字节型数据(实质是将八位二进制串转换成十进制数):用函数过程Reverse将八位二进制串逐位倒排序。具体程序如下:
Function ByteToBin(m As Byte) As String ' 将字节型数据转换成八位二进制字符串
Dim c$
c$ = ""
Do While m <> 0
r = m Mod 2
m = m \ 2
c$ = r & c$
Loop
c$ = Right("00000000" & c$, 8)
ByteToBin = c$
End Function
Function Reverse(m As String) As String ' 将八位二进制字符串颠倒顺序
Dim i%, x$
x = ""
For i = 1 To 8
x = Mid(m, i, 1) & x
Next i
Reverse = x
End Function
Function BinToByte(m As String) As Byte ' 将八位二进制串转换成十进制
Dim x As String * 1, y%, z%
z = 0
For i = 1 To 8
x = Mid(m, i, 1)
y = x * 2 ^ (8 - i)
z = z + y
Next i
BinToByte = z
End Function
Private Sub Command1_Click()
Dim x As Byte, i%, fname$
fname = InputBox("请输入要加密的文件名!注意加上路径名:")
If Dir(fname) = "" Then
MsgBox "文件不存在!"
Exit Sub
End If
Open fname For Binary As #1 ' 以二进制访问模式打开待加密文件
For i = 1 To LOF(1) ' LOF函数是求文件长度的内部函数
Get #1, i, x ' 取出第i个字节
x = BinToByte(Reverse(ByteToBin(x))) ' 这里调用了三个自定义函数
Put #1, i, x ' 将加密后的这个字节写回到文件原位置
Next i
Close
MsgBox "任务完成!"
End Sub
本例可以完成对任意文件的加密与解密,对同一文件作第一次处理为加密,第二次处理为解密。要调试本程序,可用记事本在C盘根目录下任意建立一个文本文件(假设为文件名为aaa.txt),其中的内容任意(可以包括字母、汉字、数字、回车符、换行符等)。运行本程序后,在输入文件名的对话框中输入文件名(如:“C:\aaa.txt”)后回车,即可完成对文件的加密。文件加密后,可以在记事本中打开该文件查看加密效果。如果想解密,可再次运行该程序并输入相同文件名。

‘捌’ 如何制作加密文

下载一个加密程序就可以了,或者你另存为的时候,里面有个工具,然后安全选项,可以设置密码

阅读全文

与制作一个加密程序最恰当过程相关的资料

热点内容
提取应用app安装包什么意思 浏览:842
公司服务器地址怎么看 浏览:678
华融证券app在哪里申购新债 浏览:555
和孩子一起学编程pdf 浏览:218
可读的文件夹怎么删除 浏览:495
qt编译器配置错了怎么改 浏览:610
佛教电视电影大全 浏览:316
李采覃男科医生是什么电影 浏览:750
周韵茹彼时曾相伴 浏览:976
如何访问ftp服务器的文件 浏览:120
java两年经验工资 浏览:362
生活中的玛丽伦理片主演名字图片 浏览:37
阿里云服务器的防火墙怎么关掉 浏览:498
租电信机房一般是什么服务器 浏览:731
欧美电影讲一个建筑师的婚外情 浏览:40
巴度意大利 浏览:786
lockdir加密后找不到了 浏览:93
肉写的很详细的小说古代 浏览:771
安卓怎么下2个一样的软件 浏览:593