非对称密钥:应用场景

public class EncryptionAndSignatureExample {

复制代码
public static void main(String[] args) throws Exception {
    // 生成公私钥对
    KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
    keyPairGenerator.initialize(1024);
    KeyPair keyPair = keyPairGenerator.generateKeyPair();
    PrivateKey privateKey = keyPair.getPrivate();
    PublicKey publicKey = keyPair.getPublic();
    System.out.println("公钥:" + publicKey);
    System.out.println("私钥:" + privateKey);

    // 私钥加密、公钥验签示例
    String message = "Test message for signature";
    byte[] signature = sign(privateKey, message);
    boolean isVerified = verify(publicKey, message, signature);

    System.out.println("私钥加密、公钥验签结果: " + isVerified);

    // 公钥加密、私钥解密示例
    String encryptedMessage = encrypt(publicKey, "Secret message");
    String decryptedMessage = decrypt(privateKey, encryptedMessage);

    System.out.println("公钥加密、私钥解密后的消息: " + decryptedMessage);
}

public static byte[] sign(PrivateKey privateKey, String message) throws Exception {
    Signature signature = Signature.getInstance("SHA256withRSA");
    signature.initSign(privateKey);
    signature.update(message.getBytes());
    return signature.sign();
}

public static boolean verify(PublicKey publicKey, String message, byte[] signature) throws Exception {
    Signature verification = Signature.getInstance("SHA256withRSA");
    verification.initVerify(publicKey);
    verification.update(message.getBytes());
    return verification.verify(signature);
}

public static String encrypt(PublicKey publicKey, String message) throws Exception {
    // 这里简单模拟加密,实际应用中需使用更完善的加密逻辑
    return message + "_encrypted";
}

public static String decrypt(PrivateKey privateKey, String encryptedMessage) throws Exception {
    // 这里简单模拟解密,实际应用中需使用更完善的解密逻辑
    return encryptedMessage.replace("_encrypted", "");
}

}

相关推荐
CDN36016 小时前
360CDN SDK 游戏盾:轻量化接入 + 强防护实测
运维·游戏·网络安全
hzhsec17 小时前
MSF-CobaltStrike实现内网socks代理转发上线
服务器·网络·安全·网络安全
CDN3601 天前
低成本游戏防护:360 SDK 游戏盾使用总结
运维·游戏·网络安全
Chockmans1 天前
春秋云境CVE-2021-46436
web安全·网络安全·春秋云境·cve-2021-46436
xixixi777771 天前
5G核心网核心之辨:从服务化架构(SBA)到网络切片的深度实践解析
人工智能·网络安全·信息与通信·通信
IpdataCloud1 天前
网络安防实战:如何用IP查询工具精准定位风险IP?
网络·经验分享·tcp/ip·网络安全
XuanTao771 天前
【分享】✍️手写生成器|高级版|轻松生成自然逼真手写字体
数码相机·计算机网络·网络安全·智能手机·软件工程
xixixi777771 天前
从SQL注入到XSS:实战Web安全渗透测试
人工智能·安全·web安全·网络安全·卫星通信
CDN3601 天前
爬虫对抗:ZLibrary反爬机制实战分析及360CDN解决方案可行性论证
爬虫·网络安全
Evand J1 天前
计算机四级——《网络工程》科目,易错点总结【纯手工总结】
网络协议·网络安全·网络工程·计算机四级