首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Java简单加密

Java简单加密
EN

Stack Overflow用户
提问于 2009-08-30 20:17:06
回答 7查看 35.5K关注 0票数 13

我想加密存储在磁盘上的文本(配置)文件。尝试使用DES加密我在客户机上遇到了致命错误,后来我发现算法无法处理重音字符(!)我怀疑这是因为我使用的是旧的包(sun.misc.BASE64Decoder) --但我不确定这是不是原因。

然而,我正在寻找一个更简单的解决方案-我需要一个非常简单的加密(我知道有些人不会同意这一点)-而不是128位密钥的RSA,只是从好奇的眼睛模糊文本。

我在网上找不到一个简单的解决方案,这真的很奇怪。

如何实现简单的加密方案?

EN

回答 7

Stack Overflow用户

发布于 2009-08-30 20:28:03

查看Java Simplified Encryption (Jasypt)

Jasypt是一个java库,它允许开发人员以最少的努力向他/她的项目添加基本的加密功能,并且不需要对密码学如何工作有深入的了解。

基于

  • High-security,标准的加密技术,用于单向和双向加密。加密密码、文本、数字、与Hibernate.
  • Suitable的binaries...
  • Transparent集成,以便集成到基于Spring的应用程序中,还可以透明地与ACEGI集成(Spring功能,用于加密应用程序的配置(即,用于任何JCE provider.
  • ...and更多

的JCE

票数 22
EN

Stack Overflow用户

发布于 2012-02-13 03:54:22

我使用这个简单的One-Time-Pad算法:

代码语言:javascript
代码运行次数:0
运行
复制
import org.apache.commons.codec.binary.Base64;
public class Cipher {
  private static final String KEY = "some-secret-key-of-your-choice";
  public String encrypt(final String text) {
    return Base64.encodeBase64String(this.xor(text.getBytes()));
  }
  public String decrypt(final String hash) {
    try {
      return new String(this.xor(Base64.decodeBase64(hash.getBytes())), "UTF-8");
    } catch (java.io.UnsupportedEncodingException ex) {
      throw new IllegalStateException(ex);
    }
  }
  private byte[] xor(final byte[] input) {
    final byte[] output = new byte[input.length];
    final byte[] secret = this.KEY.getBytes();
    int spos = 0;
    for (int pos = 0; pos < input.length; ++pos) {
      output[pos] = (byte) (input[pos] ^ secret[spos]);
      spos += 1;
      if (spos >= secret.length) {
        spos = 0;
      }
    }
    return output;
  }

不要忘记将commons-codec添加到类路径中。

票数 8
EN

Stack Overflow用户

发布于 2009-08-30 20:27:02

加密算法作用于原始字节,而不是字符。

不能处理重音字符的原因是,用于将字符与原始字节相互转换的代码不能处理Unicode。

您应该使用AES;有关如何在Java语言中使用它的示例,请参阅here

:现在,你可能只是把它藏起来,不让好奇的人看到,但不知道未来会发生什么,而且最好是现在就使用强加密,而不是直到很晚才发现你应该有但没有的东西。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1354803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档