65.9K
CodeProject 正在变化。 阅读更多。
Home

Anoncrypt - Java (Struts2) 文本加密和解密网站

starIconstarIconstarIconstarIconstarIcon

5.00/5 (8投票s)

2017年8月5日

CPOL

2分钟阅读

viewsIcon

30165

downloadIcon

2711

Anoncrypt 由 HTCoders 开发,是一个基于 Web 的文本加密和解密项目,使用 Java 技术并遵循 Struts2 框架。

引言

Anoncrypt 由 HTCoders 提供,是一种以简单方式保护文本消息的服务。它可以利用强大的加密算法对您的消息进行加密,使其比纯文本更安全地发送或存储。任何获得加密消息访问权限的人都无法在不知道您的密码的情况下读取原始消息。

我们的大多数通信渠道很容易被第三方访问,不仅包括政府和您的互联网服务提供商,甚至包括您的朋友和家人(如果我们谈论的是社交网络或您的个人电脑)。

使用 Anoncrypt,您可以利用安全的 AES 密码加密敏感信息,从而没有人能够在不知道原始密码的情况下访问它。

背景

在现代社会,未经授权的人员试图非法挖掘/查看数据。

该项目将仅允许知道密钥的授权人员查看数据。因此,未经授权的人员将在一定程度上受到限制。

模块 1:对称密钥算法

对称密钥算法是用于加密明文和解密密文的加密密钥的算法。密钥可以是相同的,或者可能存在一个简单的转换来在两个密钥之间进行转换。实际上,密钥代表了双方或多方之间共享的秘密,可用于维护私密信息链路。对称密钥算法是用于加密的算法,它使用相同的

模块 2:自毁消息服务

该模块主要构建于提供数据安全性的理念之上。在此模块中,用户提供一个文本框来输入他的数据进行加密,以及一个密码。在输入框中输入数据和密码后,用户可以对其进行加密。当用户点击加密按钮时,将向用户提供一个链接,没有该链接,接收者将无法对其进行解密。该链接只能使用一次,并且在使用后,消息将自动销毁,这就是它也被称为“自毁消息系统”的原因。

Anoncrypt 的模块

设计:高级架构

High_level_diagram

用例

类图


 

屏幕截图

1. 首页截图

2. 基于密码的加密

3. 访问被拒绝

4. 自毁消息服务

示例源代码

package com.anoncrypt.services;

import java.security.Key;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;

public class SymAES
{
    private static final String ALGORITHM = "AES";
    private static byte[] keyValue= new byte[] { 'T', 'h', 'i', 
    's', 'I', 's', 'A', 'S', 'e', 
    'c', 'r', 'e', 't', 'K', 'e', 'y' };    

 public  String encode(String valueToEnc) throws Exception {
     System.out.println("The Key byte value"+keyValue );
    
    Key key = generateKey();
    Cipher c = Cipher.getInstance(ALGORITHM);
    c.init(Cipher.ENCRYPT_MODE, key);
    byte[] encValue = c.doFinal(valueToEnc.getBytes());
    String encryptedValue = new BASE64Encoder().encode(encValue);
    return encryptedValue;
}

public  String decode(String encryptedValue) throws Exception {
   try{
    Key key = generateKey();
    Cipher c = Cipher.getInstance(ALGORITHM);
    c.init(Cipher.DECRYPT_MODE, key);
    byte[] decordedValue = new BASE64Decoder().decodeBuffer(encryptedValue);
    byte[] decValue = c.doFinal(decordedValue);
    String decryptedValue = new String(decValue);
    return decryptedValue;
   }
   catch(Exception e)
   {
       String decryptedValue = new String("no");
        return decryptedValue;
   }
}

private static Key generateKey() throws Exception {
    
    System.out.println("The Key byte value inside genkey"+keyValue );
    Key key = new SecretKeySpec(keyValue, ALGORITHM);
    return key;
}
public  void start(String passcode)throws Exception
{
    int temp=passcode.length();
    for(int i=temp;i<32;i++)
    {
        passcode=passcode+'a';
    }
    System.out.println("Updated byte "+passcode);
    
         keyValue = passcode.getBytes();
        System.out.println("passcode"+passcode);    
    System.out.println("The Key byte value inside start"+keyValue );
}
}

演示

这是与项目相关的演示文稿的链接

历史

  • 2015 年 5 月 6 日:初始版本

该项目在我还是印度阿拉哈巴德大学的学生时开发的。

联系方式

如有任何疑问,请访问 http://htcoders.blogspot.com/

© . All rights reserved.