❶ 如何给电脑加密
为了有效保护个人数据安全,防止他人在未经允许的情况下使用自己的电脑,我们一般都通过修改CMOS设置开机密码、系统加密或隐藏硬盘等方法防范他人。从理论上讲,这些方法最为保险有效,可以说是系统保护的根本方法。其实,还有一些方法同样可以达到在未经本人允许情况下,禁止“菜鸟”动用自己电脑的目的: 1、修改Autoexec.bat文件设定密码 在系统安装盘根目录下打开Autoexec.bat文件,加入如下的内容: @echo off choice /c:*/n “*”为预先设置好的一位密码,我们可以开动脑筋,设置不易被人破解的一位密码(如输入ASCII码)。重新启动计算机后,你会发现在进入Windows 9x系统会出现黑屏,屏幕左上角有一个光标在跳动,只有输入设置的密码才可以进入Windows 9x。 2、修改注册表设置口令 首先确保在网络设置中安装了“Microsoft友好登录”,然后运行注册表编辑器,依次展开[HKEY_LOCAL_]分支,新建名为“Mustbevalidated”的DWORD值,并将该键值设置为“1”。这样,其他人登录时如果不输入口令就无法登录系统了。 3、禁用“用户”、“密码”设置选项 在注册表编辑器中依次展开HKEY_CURRENT_分支,建立NoProfilePage、NoSecCPL两个DWORD值,均赋值为“1”,则控制面板的“用户”、“密码”选项都将被禁止。 4、限制使用应用程序 打开注册表编辑器,依次展开[HKEY_CURRENT_]分支,新建名为“RestrictRun”的DWORD值,并将该键值设置为“1”。然后再建立字符串值并以“1”、“2”、“3”命名,将它们设置为允许执行使用的程序,如“notepad.exe”、“regedit.exe”等等,没有设置的程序系统将禁止运行。 其实,提防他人动用电脑的方法还有很多,比如我们可以用专门的加密软件来为应用程序或可执行文件加密等等,有兴趣的读者可以自己去网上下载相关的软件试用。
❷ DES加密解密结果为何不一致
这个问题主要涉及编码、输入格式、输出格式、加密模式这几个方面的问题,还有一些细节问题比如空格与回车。 首先是编码问题,在线的编码格式一般默认是UTF-8,因此如果网页编码不是UTF-8,则会导致加密的结果不一样。因为DES算法本质上是对二进制内容进行加密,同样的文字经过不同的编码映射成的二进制内容并不相同。 其次,是输入格式问题。一般在网页的输入是文本格式(Plain Text),但是许多教程为了方便理解,写的输入格式是16进制,比如 DES算法实例讲解 这篇文章里面主要用的是16进制格式作为讲解,对于许多在线工具,明文和密钥输入用的是文本格式。因此,在输入的时候一定要注意区分。 然后,是输出格式的问题。有些在线加密工具输出会自动进行Base64编码,这样结果和直接加密的结果完全不同。DES加密的密文是16进制格式的,无法一一对应成ASCII码。密文要么以16进制输出,要么输出一堆乱码,而Base64能将一个较长的16进制数组编码为一个字符串,方便处理。 最后,是加密模式的问题。DES本身采用的是ECB(电子密码本)模式,即将加密的数据分成若干组,每组的大小跟加密密钥长度相同,这样密文输出完全由明文和密钥决定。为了进一步加强安全性,有许多安全性扩展,就诞生了别的加密模式,比如加密块链模式CBC、加密反馈模式CFB等等。不同的模式加密结果也会完全不同。 在附带一点细节问题,即空格与回车的问题。尤其是在字符串处理的时候,有些字符串会带回车换行(0x0D 0x0A),这会造成最后一个64位字符块加密有些许差别。还有一些文本框自动(trigger)去除空格,就导致文本中的空格没有被计算在内,导致加密不同。
❸ 下面程序实现如下功能:输入一行字母将字母加密输出("a"变成"c","b"变成"d", 一直到"z"变成"b")
代码如下:
#include<stdio.h>
#include<string.h>
int main()
{
char a[50];
gets(a);
for(int i=0;i<strlen(a);i++)
{
if(a[i]>='a'&&a[i]<'z'||a[i]>='A'&&a[i]<'Z')
{
a[i]=a[i]+1;
}
else if(a[i]=='z'||a[i]=='Z')
{
a[i]+=1;
}
else
a[i]=a[i];
}
puts(a);
return 0;
}
(3)ascii在线加密扩展阅读
getchar()函数的作用是从计算机终端(一般为键盘)获取一个无符号字符。getchar()函数只能接收一个字符,其函数值就是从输入设备获取到的字符。
getchar由宏实现:#define getchar() getc(stdin)。getchar有一个int型的返回值。当程序调用getchar时,程序就等着用户按键。用户输入的字符被存放在键盘缓冲区中。直到用户按回车为止。当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符。
getchar函数的返回值是用户输入的字符的ASCII码,若文件结尾则返回-1(EOF),且将用户输入的字符回显到屏幕。如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。
也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完后,才等待用户按键。
❹ 文件的加解密处理
2) 解密:解密过程与加密过程的顺序正好相反,即从第一个字符开始,每个字符依次反复减去”49632873”中的数字,若执行减法后得到一个负数,则把这个负数加122然后取余,即 (N+122)%122, 其中N为负数。
例如:把xqk解密
(x) 120-4 (q)111-9 (k) 107-6
变为 the
2.3 其他要求
(1)变量、函数命名符合规范。
(2)注释详细:每个变量都要求有注释说明用途;函数有注释说明功能,对参数、返回值也要以注释的形式说明用途;关键的语句段要求有注释解释。
(3)程序的层次清晰,可读性强。
❺ 密码加密方式有哪些
M5D 加密是最常见的 加密算法成千上万 几种 我看没人能说得出来哈 不可逆的加密就不是加密啦 都读不出来了 那些数据已经没意义了。所以加密都是可逆的。
希望对你能有所帮助。
❻ WEP加密 16进制密钥值1234567890 ASCII密钥值什么
16进制的取值范围为0-F;
1234567890 对应的10进制数为78187493520。
将每个数转换为ASCII码为:3738313837343933353230(16进制)
5556495655525751535048(10进制)
❼ C语言字符串加密
问题不小,你表面用的是C
但是,好多地方不符合C的语法
,,比如:
for
(int
i=0;
str[i]
!=
'\0';
i++)
还有,就是你好像没有弄清楚
,你要做什么似的,有好多无用的东西,
就像你的函数里的,key
,虽然你提到key了,但是你根本没有使用key,你只是使用45来进行加密,,还有就是一个文件
的大小,是不确定的,你用一个100个字符的字符串来存,有点那个不安全了,,如果稍长一点就会出问题,产生运行时错误。其实你这个加密和解密是一个可逆过程,用一个函数,就可以了,具体你想要的也不是太明白,就给你弄了一个简单一点加密和解密程序
,输入输出不是同一个文件
,不知道是不是你想要的。
#include
#include
#include
void
Decrypt()
{
char
fname[FILENAME_MAX];
char
fname2[FILENAME_MAX];
FILE*
fp;
FILE*
fp1;
int
key;
char
c;
printf("输入要加/解密文件的路径:\n");
scanf("%s",
fname);
printf("请输入密钥:\n");
scanf("%d",&key);
strcpy(fname2,fname);
strcat(fname2,".txt");
if(
(fp
=
fopen(fname,"r+"))
==
NULL)
{
printf("error");
exit(1);
}
if(
(fp1
=
fopen(fname2,"w+"))
==
NULL)
{
printf("error");
exit(1);
}
while(
(c
=
fgetc(fp))
!=
EOF)
{
c
=
c^key;
fputc(c,fp1);
}
fcloseall();
}
int
main()
{
Decrypt();
return
0;
}
如果想看一些好一点的加密算法
,我这里有一些,联系我发给你
,,
❽ C语言指针:编写程序,对输入的一行小写字母进行加密处理。
void encrypt(char *s)
{
while(*s)
{
if(*s>='a'&&*s<='z')
*s=(*s+1-'a')%26+'a';
s++;
}
}
#include<stdio.h>
int main()
{
char s[128];
printf("请输入一个字符串:");
scanf("%s",s);
encrypt(s);
printf("加密后:%s\n",s);
return 0;
}
❾ 关于C语言ASCII码的问题
在处理字母大小写转换的时候要用到ASCII
因为大小写相差32.
因为每个字母有相应的ASCII。所以字母可以做运算。
也就是可以字母加密。可以字母移位。等等
0.指的是整形的时候整数0
‘0’代表的ASCII里的0,其相应的值是48.
‘\0'是表示结束的字符。经常用这个表示循环的终止。他在ASCII里的值为0
还有在简单计算器的时候也会用到!
❿ 网址加密,怎么实现
实现办法:
(1)利用弹出窗口封锁鼠标右键将下面这段代码放在网页HTML代码的标志中,就可以实现封锁右键,给网页加密。
<script language="javascript">function click() {if (event.button==2) {alert('本站不准使用右键,使用左键吧!^_^') }}document.onmousedown=click</script>
(2)弹出“添加收藏夹”封锁鼠标右键将下面这段代码放在网页的HTML代码的标志中。实现点击右键出现“添加到收藏夹”选项。
<script language="javascript">function click() {if (event.button==2) {window.external.addFavorite('http://www.51CTO.com/,' 51CTO')}}document.onmousedown=click</script>
(3)彻底封锁鼠标右键将下面这段代码放在网页的HTML代码的标志中能够实现彻底封锁鼠标右键的效果,由于这个脚本在右键按下时调用一个函数,所以可以改为很多种类型。即使按下左键,再按下右键,放开左键,再放开右键的方法也还是破解不了。
<script>function DM(e){if(!ns){if(event.button>1)window.external.addFavorite('http://www.popunet.com/,' 大众网络报')}else{if(e.which>1)return false}}ns=navigator.appName=="Netscape";if(ns)document.captureEvents(Event.MOUSEMOVE|Event.MOUSEDOWN);document.onmousemove=DM;document.onmousedown=DM;</script>
(4)禁止查看源文件将下面这段代码放在网页的HTML代码的标志中则可以实现禁止利用IE浏览器查看源文件。
<script language="JavaScript"><!--document.onmousedown=clickfunction click() {if ( event.button==2) {alert('不准查看源文件') }if ( event.button==3) {alert('不准查看源文件') }}//--></script>
(5)用乱码显示链接、调用地址加密。利用某些函数把URL字符转换成ASCII码,从而达到隐藏链接Frame页面和*.js,*.asp等脚本的目的。返回ASCII码escape(character),ASCII码为%XX格式,XX是十六进制,如空格键为%20。返回字符unEscape(string)。