• 大小: 8KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: Java
  • 标签: 加密搜索  

资源简介

毕业设计的代码,是用Java做的可搜索加密方案的模拟仿真,有服务器与客户端两端,可完成模拟通信,且在云端完成了模拟搜索。

资源截图

代码片段和文件信息

import java.io.InputStream;
import java.io.OutputStream;
import java.security.spec.AlgorithmParameterSpec;
import javax.crypto.Cipher;
import javax.crypto.CipherInputStream;
import javax.crypto.CipherOutputStream;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;

class DesEncrypter {
  byte[] buf = new byte[1024];
  Cipher ecipher;
  Cipher dcipher;
  DesEncrypter(SecretKey key) throws Exception{
    byte[] iv = new byte[] { (byte) 0x8E 0x12 0x39 (byte) 0x9C 0x07 0x72 0x6F 0x5A };
    AlgorithmParameterSpec paramSpec = new IvParameterSpec(iv);
    ecipher = Cipher.getInstance(“DES/CBC/PKCS5Padding“);
    dcipher = Cipher.getInstance(“DES/CBC/PKCS5Padding“);

    ecipher.init(Cipher.ENCRYPT_MODE key paramSpec);
    dcipher.init(Cipher.DECRYPT_MODE key paramSpec);
  }


  public void encrypt(InputStream in OutputStream out)  throws Exception{
    out = new CipherOutputStream(out ecipher);

    int numRead = 0;
    while ((numRead = in.read(buf)) >= 0) {
      out.write(buf 0 numRead);
    }
    out.close();
  }

  public void decrypt(InputStream in OutputStream out)  throws Exception{
    in = new CipherInputStream(in dcipher);

    int numRead = 0;
    while ((numRead = in.read(buf)) >= 0) {
      out.write(buf 0 numRead);
    }
    out.close();
  }
}



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        9585  2013-05-22 16:06  PEKSClient.java
     文件        2213  2013-05-22 09:13  PEKSInitial.java
     文件       10156  2013-05-22 09:34  PEKSServer.java
     文件         371  2013-05-04 23:05  Trapdoor.java
     文件        1362  2013-05-03 00:08  DesEncrypter.java

评论

共有 条评论

相关资源