⑴ C语言数字加密
/*
输入1个四位数,将其加密后输出。
方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例:括号内是说明
输入
1257
输出
The encrypted number is 4621(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
*/
#include <stdio.h>
int main( )
{
int number, digit1, digit2, digit3, digit4, newnum;
scanf("%d", &number);
digit1 = number/1000;
digit2 = (number - 1000 * digit1)/100;
digit3 = (number - 1000 * digit1 - 100 * digit2)/10;
digit4 = number - 1000 * digit1 - 100 * digit2 - 10 * digit3;
digit1 += 9;
digit1 %= 10;
digit2 += 9;
digit2 %= 10;
digit3 += 9;
digit3 %= 10;
digit4 += 9;
digit4 %= 10;
//第三位数是1的情况不做考虑
newnum = digit3 * 1000 + digit4 * 100 + digit1 * 10 +digit2;
printf("The encrypted number is %d\n", newnum);
return 0;
}
⑵ 数字签名与数字加密
数字签名主要经过以下几个过程:
信息发送者使用一单向散列函数(HASH函数)对信息生成信息摘要;
信息发送者使用自己的私钥签名信息摘要;
信息发送者把信息本身和已签名的信息摘要一起发送出去;
信息接收者通过使用与信息发送者使用的同一个单向散列函数(HASH函数)对接收的信息本身生成新的信息摘要,再使用信息发送者的公钥对信息摘要进行验证,以确认信息发送者的身份和信息是否被修改过。
数字加密主要经过以下几个过程:
当信息发送者需要发送信息时,首先生成一个对称密钥,用该对称密钥加密要发送的报文;
信息发送者用信息接收者的公钥加密上述对称密钥;
信息发送者将第一步和第二步的结果结合在一起传给信息接收者,称为数字信封;
信息接收者使用自己的私钥解密被加密的对称密钥,再用此对称密钥解密被发送方加密的密文,得到真正的原文。
数字签名和数字加密的过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,这是一个一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。数字加密则使用的是接收方的密钥对,这是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。另外,数字签名只采用了非对称密钥加密算法,它能保证发送信息的完整性、身份认证和不可否认性,而数字加密采用了对称密钥加密算法和非对称密钥加密算法相结合的方法,它能保证发送信息保密性。
⑶ Java编程如何给数字加密
最简单的,用异或运算。
你也可以自己写个加密方法啊。
比如说:利用unicode字符加密啊。假设一个数字a它的unicode值是1234,你自己设计个函数,比如说y=2x^3+3,得到一个新的unicode字符,然后把这个unicode字符转换为字母,这个字母可能是汉字,但更可能是外国符文,反正一般人不会认出来的。你解密的时候,倒推一下就行了。
⑷ 简单的数字加密
简单加密,很简单啊,
比如说,+6, 乘以3
得到的肯定是两位数是把,
然后,在前面任意加两位数,组成一个四位数,全部数据以四位数排列,
你自己要写清楚,
这样的话,直接破解,就麻烦多了,如果不知道,前面两位是多余的,呵呵
还可以采取,一定的规律, 比如 1 3 4 ,自己写一组数据记录下来,
然后, 前面加数据的时候,奇数,任意加,在前面,偶尔加在后面,
难道又增加了 呵呵~~
⑸ 如何数字简单加密
比如多少乘多少除多少,这个就简单啊,不就是反过来就可以了么。怎么还不会哦。
⑹ 请简述数字加密的过程
在对称加密中,数据发送方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。
接收方收到密文后,若想解读原文,则需要使用加密密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密。
(6)对数字进行加密扩展阅读:
数字加密注意事项:
通过TCP三次握手进行连接,然后客户端发送hello包到服务端,服务端回应一个hello包,如果客户端需要再次发送数字证书, 则发送数字证书到客户端。
客户端得到服务器的证书后通过CA服务验证真伪、验证证书的主体与访问的主体是否一致,验证证书是否在吊销证书列表中。如果全部通过验证则与服务器端进行加密算法的协商。
用证书中服务器的公钥加密对称秘钥发送给服务器端,对称秘钥只能用服务器的私钥进行解密,当服务器通过私钥解密对称秘钥后。使用对称秘钥将客户端请求的数据发送到客户端,客户端在用对称秘钥进行解密,从而得到想要的数据。