首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要密码保护字符串的算法吗?

需要密码保护字符串的算法吗?
EN

Stack Overflow用户
提问于 2011-06-16 19:42:43
回答 5查看 902关注 0票数 0

我正在寻找一个简单而快速的算法来加密/解密一个字符串(长度约为128字节)与密码。

有什么好的算法吗?

添加:自定义算法是绝对OK的。它占用的内存更少--它更好(对于我的情况)。没有额外的课程-完美。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-06-16 20:07:32

下面是一个简单的加密/解密方法。它很弱,所以我提出它是为了,比如说教育目的

代码语言:javascript
复制
    public static String encDec(String input, String password) {

      byte[] in = input.getBytes();
      byte[] key = password.getBytes();
      byte[] result = new byte[in.length];
      int k = 0;
      for (int i = 0; i < in.length; i++) {
         result[i] = (byte)(in[i] ^ key[k]);
         k++;
         if (k == key.length) 
           k=0;
      }

      return new String(result);
    }

它简单地将短语的字节与密码的字节进行异或运算。同样的方法也可以用于加密和解密。顺便说一句,对于密码分析师来说,这不是一个大挑战,但如果你只需要混淆一些数据,这是一个简单的开始。

为了让它更好一点:不要传递密码字符串,而是传递一个带有随机值的字节数组。但是您想要一个带有密码的方法,这就是为什么我以这种方式实现它;)

票数 0
EN

Stack Overflow用户

发布于 2011-06-16 19:45:24

AES AlgorithmImplementation

AES是私钥或对称密码术的联邦标准。它支持128、192和256的密钥和块大小的组合。

IDEA - International Data Encryption Algorithm 呢?

IDEA是获得专利且普遍适用的块加密算法的名称,它可以有效地保护传输和存储的数据,防止第三方进行未经授权的访问。

有关实现,请参阅:How to implement IDEA?

票数 3
EN

Stack Overflow用户

发布于 2011-06-16 19:51:40

AES或3DES是非常“标准”的对称密钥加密。河豚是另一种。

例如,检查http://java.sun.com/developer/technicalArticles/Security/AES/AES_v1.html是否使用了AES和Java。

附注:如果这是为了保护密码之类的东西,那么您应该使用单向散列方法(如MD5或类似方法)。除非您一定要能够解密文本,否则单向散列要安全得多。例如,当在数据库中存储密码时,您将散列密码(使用类似MD5的内容)并将其存储。然后,通过对用户输入进行散列并将其与存储在数据库中的散列值进行比较来完成登录验证。

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

https://stackoverflow.com/questions/6371246

复制
相关文章

相似问题

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