java md5 sha 加密 随机数

package com;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Encode {
 /**
  * 静态加密方法
  *
  * @param codeType
  *            传入加密方式
  * @param content
  *            传入加密的内容
  * @return 返回加密结果
  */
 public static String getEncode(String codeType, String content) {
  try {
   MessageDigest digest = MessageDigest.getInstance(codeType);// 获取一个实例,并传入加密方式
   digest.reset();// 清空一下
   digest.update(content.getBytes());// 写入内容,可以指定编码方式content.getBytes("utf-8");
   StringBuilder builder = new StringBuilder();
   for (byte b : digest.digest()) {
    builder.append(Integer.toHexString((b >> 4) & 0xf));
    builder.append(Integer.toHexString(b & 0xf));
   }
   return builder.toString();
  } catch (NoSuchAlgorithmException e) {
   e.printStackTrace();
  }
  return null;
 }
//
 public static void main(String[] args) {
//  取 1, 或者0 随机数
  int rd=Math.random()>0.5?1:0;
  System.out.println(rd);
//  
  String str = Encode.getEncode("MD5", "123");// 用MD5方式加密
  System.out.println(str);
  // fc3ff98e8c6a0d3087d515c0473f8677
  String str1 = Encode.getEncode("SHA", "hello world!");// 用SHA方式加密
  System.out.println(str1);
  // 430ce34d020724ed75a196dfc2ad67c77772d169
 }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中,可以通过以下步骤来检测加密算法是否安全: 1. 了解加密算法的安全性:首先,需要了解不同的加密算法及其安全性评级。一些已经被认为是不安全的加密算法包括DES、RC4和MD5。而一些较为安全的算法包括AES、RSA和SHA。 2. 查看Java加密库:Java提供了许多内置的加密算法库,例如javax.crypto包。可以查看相关文档以了解每个算法的安全性。通常,Java库中包含的算法都是经过严格测试和验证的。 3. 检查算法使用的密钥长度:某些加密算法可能具有安全性问题,但通过增加密钥长度可以提高安全性。例如,AES算法在使用128位或256位密钥时被认为是安全的,而使用56位密钥时则不安全。 4. 参考加密算法的最新推荐标准:加密算法的安全性标准会随着时间的推移而变化。可以参考国际标准组织(例如NIST)或其他权威机构发布的最新推荐标准,了解哪些算法是目前被认为是安全的。 5. 使用专业的安全工具:可以使用一些专业的加密和安全性工具来评估加密算法的安全性。例如,可以使用OWASP ZAP或Burp Suite等工具来测试应用程序中使用的加密算法是否容易受到攻击。 需要注意的是,加密算法的安全性不仅仅取决于算法本身,还取决于其使用的方式和实现细节。因此,在实际应用中,还需要注意密钥管理、随机数生成、数据传输等方面的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值