Java 使用ASCII值的简单加密

Java 使用ASCII值的简单加密,java,swing,encryption,stringbuffer,Java,Swing,Encryption,Stringbuffer,我在swing中开发了一个小程序,可以将消息转换为加密格式。 我不知道为什么这不起作用 public class Encrypt extends javax.swing.JFrame { String OriginalMsg,EncryptedMsg; public Encrypt() { initComponents(); OriginalMsg = jTextArea1.getText().toString(); EncryptedMsg = jTextArea2.

我在swing中开发了一个小程序,可以将消息转换为加密格式。 我不知道为什么这不起作用

public class Encrypt extends javax.swing.JFrame {
String OriginalMsg,EncryptedMsg;

public Encrypt() {
    initComponents();
    OriginalMsg = jTextArea1.getText().toString();
    EncryptedMsg = jTextArea2.getText().toString();

}
public void action(int a){
    if(a == 0){
        StringBuffer sb = new StringBuffer(OriginalMsg);
        for(int i = 0; i < sb.length(); i++){
            int temp = 0;
            temp = (int)sb.charAt(i);
            temp = temp * 11;
            sb.setCharAt(i, (char)temp);
            EncryptedMsg = sb.toString();
        }
        jTextArea2.setText(EncryptedMsg);
   }
    else if(a == 1){
        jTextArea1.setText("");
        jTextArea2.setText("");

    }
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
 action(0);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt){
 action(1);
}
公共类加密扩展了javax.swing.JFrame{
字符串OriginalMsg,EncryptedMsg;
公共加密(){
初始化组件();
OriginalMsg=jTextArea1.getText().toString();
EncryptedMsg=jTextArea2.getText().toString();
}
公共无效诉讼(INTA){
如果(a==0){
StringBuffer sb=新的StringBuffer(OriginalMsg);
for(int i=0;i
如果程序打算加密用户在
jTextArea1
中输入的任何内容(而不是在
initComponents()
中设置的某些值),则需要在用户输入文本后设置
OriginalMsg
字段的值


操作
方法的开始处设置它。

您的构造函数将在文本区域的值始终为空的点处获取文本区域的值

至少您需要进行以下更改:

public Encrypt() {
    initComponents();
}

public void action(int a){
    if(a == 0){
        OriginalMsg = jTextArea1.getText().toString();
        EncryptedMsg = jTextArea2.getText().toString();
        StringBuffer sb = new StringBuffer(OriginalMsg);
        for(int i = 0; i < sb.length(); i++){
            int temp = 0;
            temp = (int)sb.charAt(i);
            temp = temp * 11;
            sb.setCharAt(i, (char)temp);
            EncryptedMsg = sb.toString();
        }
        jTextArea2.setText(EncryptedMsg);
   }
    else if(a == 1){
        jTextArea1.setText("");
        jTextArea2.setText("");

    }
}
public Encrypt(){
初始化组件();
}
公共无效诉讼(INTA){
如果(a==0){
OriginalMsg=jTextArea1.getText().toString();
EncryptedMsg=jTextArea2.getText().toString();
StringBuffer sb=新的StringBuffer(OriginalMsg);
for(int i=0;i
下面是一篇关于字符串不变性的有用文章:


您需要提供更多信息,说明这不起作用的原因。它是否引发异常?如果是,您可以将其包含在问题中。它是否编译?您所说的“不起作用”是什么意思?你会遇到什么错误?你能发布initComponents方法吗?如何加密enter。加密文本在一行中。当我输入enter时,它应该会被打断。