代码之家  ›  专栏  ›  技术社区  ›  Mahmoud Saleh

加密和解密问题

  •  -1
  • Mahmoud Saleh  · 技术社区  · 14 年前

    问候大家 我想知道如何在Java中对某些东西进行良好的加密和解密。 任何人都有可能解密加密的东西吗?

    5 回复  |  直到 6 年前
        1
  •  4
  •   duffymo    14 年前
        2
  •  3
  •   Ian Varley    14 年前
        4
  •  0
  •   Qwerky    14 年前

        5
  •  0
  •   Buddhika Lakshan    6 年前

    <dependency>
        <groupId>org.sonatype.plexus</groupId>
        <artifactId>plexus-cipher</artifactId>
        <version>1.1</version>
    </dependency>
    

    // https://mvnrepository.com/artifact/org.sonatype.plexus/plexus-cipher
    compile group: 'org.sonatype.plexus', name: 'plexus-cipher', version: '1.1'
    

    public static String encrypt(String strClearText,String strKey) throws Exception{
        String strData="";
    
        try {
            SecretKeySpec skeyspec=new SecretKeySpec(strKey.getBytes(),"Blowfish");
            Cipher cipher=Cipher.getInstance("Blowfish");
            cipher.init(Cipher.ENCRYPT_MODE, skeyspec);
            byte[] encrypted=cipher.doFinal(strClearText.getBytes());
            strData=new String(encrypted);
    
        } catch (Exception e) {
            e.printStackTrace();
            throw new Exception(e);
        }
        return strData;
    }
    

    try {
        SecretKeySpec skeyspec=new SecretKeySpec(strKey.getBytes(),"Blowfish");
        Cipher cipher=Cipher.getInstance("Blowfish");
        cipher.init(Cipher.DECRYPT_MODE, skeyspec);
        byte[] decrypted=cipher.doFinal(strEncrypted.getBytes());
        strData=new String(decrypted);
    
    } catch (Exception e) {
        e.printStackTrace();
        throw new Exception(e);
    }
    return strData;