init: 简单的验证授权
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package org.nl;
|
||||
|
||||
import javax.crypto.Cipher;
|
||||
import java.security.KeyFactory;
|
||||
import java.security.PublicKey;
|
||||
import java.security.spec.X509EncodedKeySpec;
|
||||
import java.util.Base64;
|
||||
|
||||
/**
|
||||
* @Author: lyd
|
||||
* @Date: 2025/8/13
|
||||
*/
|
||||
public class GenerateAuthCode {
|
||||
public static void main(String[] args) throws Exception {
|
||||
String publicKeyBase64 = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgW1kN/JmXZjl9+/Zsl/zRZ/6hSHj95G6IA4lpRrXNSTbeng0rDhEoVDY96PCaOUGnqcqOo+LLT+FqZggFBbHcjqHc1NEetD+4BTkdTiHSsskNjkvSdTHTV0UbpLHw9VlRvms6AfobkKNg+dm3F0o57tVA0Q61zd112YIdS9lf2g4PhovUACLDAx7TetsyrB7OLZQpR7dCjkUnQMTfUYz81BTWF38Vt3TUzPc35baDNm4HlHxutReRDIqZABFYw2+Pj7tgbDVGpo8vOXig1gPDcQ1Orrg5MSzYi8eSoqS8TkfhDOP3DqkcB3RI/JmraRpagUjnzsV3ekoeV5lUrQY7QIDAQAB"; // 从生成器中获取
|
||||
String expirationDate = "2025-12-31"; // 到期时间原文
|
||||
|
||||
// 还原公钥
|
||||
byte[] publicKeyBytes = Base64.getDecoder().decode(publicKeyBase64);
|
||||
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(publicKeyBytes);
|
||||
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
|
||||
PublicKey publicKey = keyFactory.generatePublic(keySpec);
|
||||
|
||||
// 加密
|
||||
// Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); // 标准填充模式
|
||||
Cipher cipher = Cipher.getInstance("RSA"); // 标准填充模式
|
||||
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
|
||||
byte[] encrypted = cipher.doFinal(expirationDate.getBytes("UTF-8"));
|
||||
String authCode = Base64.getEncoder().encodeToString(encrypted);
|
||||
|
||||
System.out.println("授权码: " + authCode);
|
||||
}
|
||||
}
|
||||
11
nl-verify-check-test/src/main/java/org/nl/Main.java
Normal file
11
nl-verify-check-test/src/main/java/org/nl/Main.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package org.nl;
|
||||
|
||||
/**
|
||||
* @Author: lyd
|
||||
* @Date: ${DATE}
|
||||
*/
|
||||
public class Main {
|
||||
public static void main(String[] args) {
|
||||
System.out.println("Hello world!");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package org.nl;
|
||||
|
||||
import java.security.*;
|
||||
import java.util.Base64;
|
||||
|
||||
/**
|
||||
* @Author: lyd
|
||||
* @Date: 2025/8/13
|
||||
*/
|
||||
public class RSAKeyGenerator {
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
|
||||
keyGen.initialize(2048); // 推荐 2048 位密钥,安全级别高
|
||||
KeyPair pair = keyGen.generateKeyPair();
|
||||
PrivateKey privateKey = pair.getPrivate();
|
||||
PublicKey publicKey = pair.getPublic();
|
||||
|
||||
// Base64 编码,便于存储和传输
|
||||
String privateKeyBase64 = Base64.getEncoder().encodeToString(privateKey.getEncoded());
|
||||
String publicKeyBase64 = Base64.getEncoder().encodeToString(publicKey.getEncoded());
|
||||
|
||||
System.out.println("Private Key (Base64): " + privateKeyBase64);
|
||||
System.out.println("Public Key (Base64): " + publicKeyBase64);
|
||||
} catch (NoSuchAlgorithmException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user