导航:首页 > 源码编译 > 字符串简单加密算法

字符串简单加密算法

发布时间:2023-08-06 06:19:36

Ⅰ rsa对字符串进行加密

RSA算法的思路是:如果A要想B发送消息,则A必须从B那获得公钥(e,n)而n=p*q,加密是你要发送的消息的每个字符串的e次方mod n。就向你说的将“abcdef”加密。先令26个英文字母对应于0-25的整数,即a-0,b-1,…z-25。然后加密为0^3mod55=0,依次类推信息加密就完成了。解密就是:B 从A那获得加密后的信息,用私钥(d,n)解密,得到的信息的每个字符串的d次方mod n。

Ⅱ 用C语言编写一个对称加密算法,对字符串加密

/*本问题的关键是如何交换ASCII的二进制位,下面提供简短算法,并附上VC++6.0环境下的运行结果截图。

*/

#include<stdio.h>

charswapbit(charc){

chari,num=0,ch[8];

for(i=0;i<8;i++){

ch[i]=c&1;

c=(c>>1);

}

for(i=0;i<8;i++){

num=2*num+ch[i];

}

returnnum;

}

intmain(){

charch;

for(ch='A';ch<='Z';ch++){

printf("%c=%X:%X ",ch,ch,0XFF&swapbit(ch));

}

return0;

}

Ⅲ 如何利用异或运算进行简单加密解密

利用“^”异或运算对字符串进行加密
思路:1.先创建字符串输入的Scanner;
2.通过char[] array = password.toCharArray();// 获取字符数组;
3.遍历字符数组,按目前理解要用到遍历:数组所有元素进行访问,比如你要输出数组里所有的信息时,就要用到
4.进行异或运算
按位做“异或”运算是:位值相同得1,不同得0
例如:
< 加密过程:>
原解释的二进制为 1 1 0 0 ----原文
设定的key的二进制为 0 1 1 0 ----密匙
两者做“异或”结果为 0 1 0 1 ----密文
< 解密过程:>
0 1 0 1----密文
0 1 1 0----密匙
两者“异或”就得到了原文 1 1 0 0 ----原文
详细代码:
package com.lixiyu;
import java.util.Scanner;
public class Example {
public static void main(String[] args){
Scanner sca=new Scanner(System.in);
System.out.println("请输入一个英文字符串或解密字符串");
String line=sca.nextLine();//获取用户输入信息
char[] array=line.toCharArray();//获取字符数组
for (int i=0;i<array.length;i++){//历遍字符数组
array[i]=(char) (array[i]^20000);//对数组每个元素进行异或运算
}
System.out.println("加密解密结果如下:");
System.out.println(new String(array));//输出密钥
}
}
异或运算:
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0
字符'A' 的ASCII编码为65 : 00000000 01000001
取整数7 : 00000000 00000000 00000000 00000111
XOR运算后 : 00000000 00000000 00000000 01000110
简单加密算法代码如下 :
public class Test {
public static final int KEY = 7;
public static void main(String[] args) {
String str = "Hello World!";
StringBuffer str2 = new StringBuffer(); //存储加密后的字符串
StringBuffer str3 = new StringBuffer(); //存储解密后的字符串
//加密过程
for(int i=0;i<str.length();i++)
{
char c = (char)(str.charAt(i) ^ KEY);
str2.append(c);
}
//解密过程
for(int i=0;i<str2.length();i++)
{
char c = (char)(str2.charAt(i) ^ KEY);
str3.append(c);
}
System.out.println("原始 的字符串为:" + str);
System.out.println("加密后 的字符串为:" + str2);
System.out.println("解密后 的字符串为:" + str3);
}
}
输出:
原始 的字符串为:Hello World!
加密后 的字符串为:Obkkh'Phukc&
解密后 的字符串为:Hello World!

Ⅳ vb字串加密算法(支持中文)

就按你的要求写一个例子吧,你可以在这个基础上改进算法:(例子里XOR的加密因子是固定的12345,正式的产品里应是动态的,并且长度更长、带有校验和防破解机制)

'简单字符串加密(参数为正常文本,返回加密文本,同时支持中文和英文)
private function StrEncrypt(byval sStr as string) as string
dim i as long
dim sRtn as string
for i=1 to len(sStr)
sRtn=sRtn & hex(asc(mid(sStr,i,1)) xor 12345) & " "
next i
StrEncrypt=sRtn
end function

'简单字符串解密(参数为被加密的文本,返回解密后的文本,同时支持中文和英文)
private function StrDecryption(byval sStr as string) as string
dim i as long
dim sChr as string
dim sCode as string
dim sRtn as string
for i=1 to len(sStr)
sChr=mid(sStr,i,1)
if sChr=" " then
sRtn=sRtn & chr(val("&H" & sCode) xor 12345)
sCode=""
else
sCode=sCode & sChr
end if
next i
StrDecryption=sRtn
end function

把这段代码复制到VB6里的调试结果:
? StrEncrypt("中国AB C")
E6E9 89C3 3078 307B 3019 307A

? StrDecryption("E6E9 89C3 3078 307B 3019 307A ")
中国AB C

Ⅳ RSA加密算法对字符串加密(C++语言)

UpdateData(TRUE);
m_miwencode=_T("");
CKEY_PRODUCE rsa;
int codelenght,codenum;
codelenght=m_yuanwencode.GetLength();
codenum=codelenght/3;
CString strmod;
strmod.Format(_T("%d"),Model);
ModeNum=strmod.GetLength();
int Cryptograph;
for (int i=0;i<codenum;i++)
{
CString str;
str=m_yuanwencode.Mid(3*i,3);
int j=(str[0]-'0')*100+(str[1]-'0')*10+(str[2]-'0');
int temp= 1;
for(int k=0;k<PublicKey;k++)
{
temp *= j;
if( temp >= Model )
temp %= Model;
if( !temp )
Cryptograph = temp;
}
Cryptograph = temp % Model;
str.Format(_T("%d"),Cryptograph);
int strnum=str.GetLength();
if (strnum!=ModeNum)
{
int s=ModeNum-strnum;
if (s==1)
{
str=_T("0")+str;
}
if (s==2)
{
str=_T("00")+str;
}
if (s==3)
{
str=_T("000")+str;
}
if (s==4)
{
str=_T("0000")+str;
}
}
m_miwencode+=str;
}
UpdateData(FALSE);
m_miwencode=_T("");

vs2005编写的C++(mfc)程序。这个可以不,可以加密字符串,要的话把分给我,发你邮箱里
另外,团IDC网上有许多产品团购,便宜有口碑

Ⅵ Java 编写加密类,实现对输入字符串进行加密,加密算法如下: 1.每个字符

不懂请追问

public class Q {
public static String encrypt(String str){
StringBuilder sb=new StringBuilder(str);
for(int i=0;i<sb.length();i++){
char c=sb.charAt(i);
sb.setCharAt(i,(char)(c+i));
}
sb.reverse();
return sb.toString();
}
public static void main(String[] args) {
String s="abc";
s=encrypt(s);
System.out.println(s);
}
}
有用请采纳
ps:友情提供测试方法

阅读全文

与字符串简单加密算法相关的资料

热点内容
异性下载什么app 浏览:678
51单片机程序单步视频 浏览:239
家庭宽带如何连接服务器 浏览:117
汽车高压泵解压 浏览:770
上门正骨用什么app 浏览:758
安卓为什么免费使用 浏览:397
加密货币都有哪些平台 浏览:625
python和matlab难度 浏览:388
python爬虫很难学么 浏览:572
小米解压积木可以组成什么呢 浏览:816
为什么滴滴出行app还能用 浏览:564
怎么升级手机android 浏览:923
php权威编程pdf 浏览:994
扣扣加密技巧 浏览:721
苹果如何创建服务器错误 浏览:497
软考初级程序员大题分值 浏览:475
js压缩视频文件 浏览:580
linux如何通过命令创建文件 浏览:991
应用加密app还能访问应用嘛 浏览:435
安卓怎么用支付宝交违章罚款 浏览:667