SHA java vue 对应的加密(SHA 256、SHA -1)

sha java 加密

奇怪的是不知道为啥,我的jdk版本是1.8按理说应该默认是sha-256,但加密后结果是sha-1

public class ShaUtil {
	/**
	 * 对字符串加密,加密算法使用MD5,SHA-1,SHA-256,默认使用SHA-256 注意:奇怪但实际查看发现使用的默认是是sha-1
	 * 
	 * @param strSrc 要加密的字符串
	 * @return 加密结果
	 */
	public static String encrypt(String strSrc) {
		MessageDigest md = null;
		String strDes = null;
		byte[] bt = strSrc.getBytes();
		try {
			md = MessageDigest.getInstance("SHA");
			md.update(bt);
			strDes = bytes2Hex(md.digest()); // to HexString
		} catch (NoSuchAlgorithmException e) {
			return null;
		}
		return strDes;
	}

	public static String encrypt256(String strSrc,String key) {
		MessageDigest md = null;
		String strDes = null;
		byte[] bt = strSrc.getBytes();
		try {
			md = MessageDigest.getInstance(key);
			md.update(bt);
			strDes = bytes2Hex(md.digest()); // to HexString
		} catch (NoSuchAlgorithmException e) {
			return null;
		}
		return strDes;
	}

	public static String bytes2Hex(byte[] bts) {
		String des = "";
		String tmp = null;
		for (int i = 0; i < bts.length; i++) {
			tmp = (Integer.toHexString(bts[i] & 0xFF));
			if (tmp.length() == 1) {
				des += "0";
			}
			des += tmp;
		}
		return des;
	}
public static void main(String[] args) {
        System.out.println(ShaUtil.encrypt("1234"));
        System.out.println(ShaUtil.encrypt256("1234","SHA-1"));
        System.out.println(ShaUtil.encrypt256("1234","SHA-256"));
    }

运行结果

7110eda4d09e062aa5e4a390b0a572ac0d2c0220
7110eda4d09e062aa5e4a390b0a572ac0d2c0220
03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4

前端sha加密

export const encryptSHA1=(strSrc:any)=> {
  const hash = CryptoJS.SHA1(strSrc);
  return hash.toString();
}

这个运行结果就行java的用的sha1加密的结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 Vue 实现 SHA256 和 SM3-4 加密方式,可以在 Vue 组件中使用 JavaScript 进行实现,具体方法如下: 1. SHA256 加密方式的实现: ```javascript import { SHA256 } from 'crypto-js'; export default { methods: { sha256(str) { return SHA256(str).toString(); } } } ``` 2. SM3-4 加密方式的实现: ```javascript import { SM3 } from 'jsrsasign'; export default { methods: { sm34(str) { const hash = new SM3().hexstr(str); return hash; } } } ``` 需要注意的是,以上代码使用了 crypto-js 库和 jsrsasign 库中的 SM3 类,需要在 Vue 项目中安装以下依赖: ```bash npm install crypto-js jsrsasign ``` 然后在 Vue 组件中引入依赖: ```javascript import { SHA256 } from 'crypto-js'; import { SM3 } from 'jsrsasign'; ``` 然后就可以在 Vue 组件中使用 sha256 和 sm34 方法进行加密了。 示例代码如下: ```vue <template> <div> <h2>SHA256加密</h2> <p>原文: {{ message }}</p> <p>密文: {{ sha256Message }}</p> <h2>SM3-4加密</h2> <p>原文: {{ message }}</p> <p>密文: {{ sm34Message }}</p> </div> </template> <script> import { SHA256 } from 'crypto-js'; import { SM3 } from 'jsrsasign'; export default { data() { return { message: 'hello, world!', sha256Message: '', sm34Message: '' } }, created() { this.sha256Message = this.sha256(this.message); this.sm34Message = this.sm34(this.message); }, methods: { sha256(str) { return SHA256(str).toString(); }, sm34(str) { const hash = new SM3().hexstr(str); return hash; } } } </script> ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值