
正文
java解密源代码 java在线解密
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
求一款java的AES加密解密的软件源代码(完整)
#include stdio.h
#include stdlib.h
#include fcntl.h
#include unistd.h
#define JIA_SIZE 1024
#define M_S 25
//加密菜单
void menu()
{
puts("(1)加密");
puts("(2)解密");
puts("(3)退出");
}
//加密
void jiami(const char *path/*加密路径*/)
{
int i;
int fp,len;
char buffer[1024];
puts("正在加密... ...");
fp = open(path,O_RDWR); //open以读写方式打开
len=read(fp,buffer,1024);
puts("将要加密的数据");
puts(buffer);
printf("字符一共有: %d\n",len);
puts("准备加密");
for(i=0;ilen;i++)
{
buffer[i] ^= M_S;
}
lseek(fp,0,SEEK_SET);
write(fp,buffer,len);
close(fp); //关闭文件
}
int main(int argc,char *argv[])
{
FILE *fp;
char buffer[JIA_SIZE];
char ch;
if(argc 2){ //如果没有输入路径就错误
puts("请输入正确的参数比如: ./jiami /home/long/bin/123.txt");
return 0;
}
else{//显示加密或者解密路径
printf("你加密或者解密的路径:");
puts(argv[1]);
}
menu(); //显示菜单
switch(ch=getchar())
{
case '1'://加密
jiami(argv[1]);
break;
case '2'://解密
jiami(argv[1]);
break;
case '3'://退出
return 0;
break;
defualt:
puts("请输入正确的菜单参数(1-3)");
}
return 0;
}
相关问答
Q1: 谁能提供下java中有关加密和解密的代码
public static void main(String[] args) throws Exception {
String data = "itxxz";
System.out.println("字符串java解密源代码:itxxz");
System.err.println("加密java解密源代码:"+encrypt(data));
System.err.println("解密:"+decrypt(encrypt(data)));
}
运行结果:
由于代码太多java解密源代码,可到 itxxz.com/a/javashili/2014/1217/encrypt_decrypt.html 查看java解密源代码,注释也比较完整java解密源代码,清晰易懂
Q2: Java中用Base64编程的文件批量加密解密工具程序代码
/** * BASE64解密 * * @param key * @return * @throws Exception */
public static byte[] decryptBASE64(String key) throws Exception { return (new BASE64Decoder()).decodeBuffer(key); } /** * BASE64加密 * * @param key * @return * @throws Exception */ public static String encryptBASE64(byte[] key) throws Exception { return (new BASE64Encoder()).encodeBuffer(key); }
Q3: 谁有用js加密,用java对应解密的 源代码
script language="javascript"
var str;
function showUnico(){
if(document.getElementById("before").value.length 0){
str = escape(document.getElementById("before").value);
document.getElementById("after").value = str;
}
else alert("请输入要加密java解密源代码的代码");
}
function showHtml(){
if(document.getElementById("after").value.length 0){
str = unescape(document.getElementById("after").value);
document.getElementById("before").value = str;
}
else alert("请输入要解密java解密源代码的代码");
}
function clearBoth(){
document.getElementById("before").value = "";
document.getElementById("after").value = "";
}
/script
body
center
table
tr
th加密前/th
th加密后/th
/tr
tr
td
textarea id="before" style="width: 200px; height: 174px"/textarea
/td
td
textarea id="after" style="width: 200px; height: 174px"/textarea
/td
/tr
/table
br
input type="button" value="加密" onclick="showUnico()"
input type="button" value="解密" onclick="showHtml()"
input type="button" value="全部清空" onclick="clearBoth()"
/center
/body
Q4: 求java中3des加密解密示例
在java中调用sun公司提供的3DES加密解密算法时,需要使用到$JAVA_HOME/jre/lib/目录下如下的4个jar包:
jce.jar
security/US_export_policy.jar
security/local_policy.jar
ext/sunjce_provider.jar
Java运行时会自动加载这些包,因此对于带main函数的应用程序不需要设置到CLASSPATH环境变量中。对于WEB应用,不需要把这些包加到WEB-INF/lib目录下。
以下是java中调用sun公司提供的3DES加密解密算法的样本代码:
加密解密代码
import java.security.Security;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
/*字符串 DESede(3DES) 加密*/
public class ThreeDes {
/**
* @param args在java中调用sun公司提供的3DES加密解密算法时,需要使
* 用到$JAVA_HOME/jre/lib/目录下如下的4个jar包:
*jce.jar
*security/US_export_policy.jar
*security/local_policy.jar
*ext/sunjce_provider.jar
*/
private static final String Algorithm ="DESede"; //定义加密算法,可用 DES,DESede,Blowfish
//keybyte为加密密钥,长度为24字节
//src为被加密的数据缓冲区(源)
public static byte[] encryptMode(byte[] keybyte,byte[] src){
try {
//生成密钥
SecretKey deskey = new SecretKeySpec(keybyte, Algorithm);
//加密
Cipher c1 = Cipher.getInstance(Algorithm);
c1.init(Cipher.ENCRYPT_MODE, deskey);
return c1.doFinal(src);//在单一方面的加密或解密
} catch (java.security.NoSuchAlgorithmException e1) {
// TODO: handle exception
e1.printStackTrace();
}catch(javax.crypto.NoSuchPaddingException e2){
e2.printStackTrace();
}catch(java.lang.Exception e3){
e3.printStackTrace();
}
return null;
}
//keybyte为加密密钥,长度为24字节
//src为加密后的缓冲区
public static byte[] decryptMode(byte[] keybyte,byte[] src){
try {
//生成密钥
SecretKey deskey = new SecretKeySpec(keybyte, Algorithm);
//解密
Cipher c1 = Cipher.getInstance(Algorithm);
c1.init(Cipher.DECRYPT_MODE, deskey);
return c1.doFinal(src);
} catch (java.security.NoSuchAlgorithmException e1) {
// TODO: handle exception
e1.printStackTrace();
}catch(javax.crypto.NoSuchPaddingException e2){
e2.printStackTrace();
}catch(java.lang.Exception e3){
e3.printStackTrace();
}
return null;
}
//转换成十六进制字符串
public static String byte2Hex(byte[] b){
String hs="";
String stmp="";
for(int n=0; nb.length; n++){
stmp = (java.lang.Integer.toHexString(b[n] 0XFF));
if(stmp.length()==1){
hs = hs + "0" + stmp;
}else{
hs = hs + stmp;
}
if(nb.length-1)hs=hs+":";
}
return hs.toUpperCase();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//添加新安全算法,如果用JCE就要把它添加进去
Security.addProvider(new com.sun.crypto.provider.SunJCE());
final byte[] keyBytes = {0x11, 0x22, 0x4F, 0x58,
(byte)0x88, 0x10, 0x40, 0x38, 0x28, 0x25, 0x79,0x51,
(byte)0xCB,
(byte)0xDD, 0x55, 0x66, 0x77, 0x29, 0x74,
(byte)0x98, 0x30, 0x40, 0x36,
(byte)0xE2
}; //24字节的密钥
String szSrc = "This is a 3DES test. 测试";
System.out.println("加密前的字符串:" + szSrc);
byte[] encoded = encryptMode(keyBytes,szSrc.getBytes());
System.out.println("加密后的字符串:" + new String(encoded));
byte[] srcBytes = decryptMode(keyBytes,encoded);
System.out.println("解密后的字符串:" + (new String(srcBytes)));
}
}
java解密源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java在线解密、java解密源代码的信息别忘了在本站进行查找喔。





