生成时间戳

package com.cloud7.utils;


import org.apache.commons.codec.binary.Base64;

import org.testng.Assert;
import org.testng.annotations.Test;

import java.io.UnsupportedEncodingException;
import java.security.*;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;

public class GetSignUtils {
@Test
public void testSign() throws Exception {
String content="nihao";
String sign=genSign(content);
System.out.println(sign);
System.out.println(content);
boolean b = SignUtil.verifyWhenSha1Sign(content, sign);
Assert.assertTrue(b);
}
public static final String privateKey="-----BEGIN PRIVATE KEY-----\n" +
"MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIwVuBDXIZfIvDKPreKUkuB4ShN3\n" +
"gn8vNpwK0VPK51+Ul+5TyAkG2sQNDdP2gSexkSt5Uz2MIK6PIiBXok7ZMjHTFRRho/Reoz8pmvnP\n" +
"balv46jaTQOr1S9VTQQD207lG7CARCN3Ymz9+szDgvbWjNYmSHmfz4HjDBqLO5/zb+xhAgMBAAEC\n" +
"gYBEKz2LVGVQi6qpoCmqHUrsWR0TJBEo+zzD6q+66v51EMZuf+7UFbXXudKE12w6eLqAQWY0iUBO\n" +
"MfEVdA/T9vXpdo8W/BkelCv1b1BZaOmtCC4NybOJ4vR/93Al80te9Z6cDcdG0pZMTQQsPT1XR7ui\n" +
"sYoHSSejm9TT3zl1gXYvAQJBAN1/mZutyR+JZu6RhzhFcYoI8drC50O74k/foGOyhb4Et/9WH7eJ\n" +
"DgXRdv1JFmNMVBZ4JDToz5K5zVCvSbV7q1kCQQCh57JcAM6zJv8F+sSucWjplhVd3PxoHJ3e3T5a\n" +
"L0DosMnY2QsF5otZQNxD0kJGmRNXuxJA4UObvZP+wHFh2pBJAkB5A+QK2FIQNuPT6BK2vcognm51\n" +
"FROBQD+PYCCjF8BWZwGYMZe2kNzmdODL1Yizy9oNRKqTdbci9Pyl3n8o9l5RAkAaz8jcrZGNX4ba\n" +
"EaYikUtja2RMb/0orJyEPLVHsA2auzQiAgduSbiH5lLTtG0fTdhDLgqeze8pSmLIzEu6fbxpAkEA\n" +
"o2idYGlvW4OwwiRgPp7AUDMkqGANzNlJqYKnk32l3wxTxUFi5+WBWFF/rFvepqvCztToCfZECIoi\n" +
"DW1JHIZ2xQ==\n" +
"-----END PRIVATE KEY-----\n";
public static String genSign(String content) throws NoSuchAlgorithmException, InvalidKeySpecException, InvalidKeyException, SignatureException, UnsupportedEncodingException {
String pkcs8Pem = privateKey.toString();
pkcs8Pem = pkcs8Pem.replace("-----BEGIN PRIVATE KEY-----", "");
pkcs8Pem = pkcs8Pem.replace("-----END PRIVATE KEY-----", "");
pkcs8Pem = pkcs8Pem.replaceAll("\\s+","");
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(Base64.decodeBase64(pkcs8Pem));
KeyFactory kf = KeyFactory.getInstance("RSA");
PrivateKey privKey = kf.generatePrivate(keySpec);

Signature signature = Signature.getInstance(SignUtil.SIGN_ALGORITHMS);
signature.initSign(privKey);
signature.update(content.getBytes("UTF-8"));
return Base64.encodeBase64String(signature.sign());

}
}
posted on 2022-12-01 16:17  groby  阅读(63)  评论(0编辑  收藏  举报