You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
2.2 KiB
49 lines
2.2 KiB
package com.fr.password.tool.keys; |
|
|
|
import cn.hutool.core.util.CharsetUtil; |
|
import cn.hutool.core.util.StrUtil; |
|
import cn.hutool.crypto.asymmetric.KeyType; |
|
import cn.hutool.crypto.asymmetric.RSA; |
|
|
|
/** |
|
* desc |
|
* |
|
* @author Anner |
|
* created on 2020-10-19 |
|
*/ |
|
public class CustomSM2Keys { |
|
|
|
private static CustomSM2Keys instance = new CustomSM2Keys(); |
|
|
|
public static CustomSM2Keys getInstance() { |
|
return instance; |
|
} |
|
|
|
private CustomSM2Keys(){ |
|
} |
|
|
|
String publicKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCdm/o3XJLF4Yo4Sx3HyQrk9ZIHiJTqW6NDOS89Vq4V7qZCZkq+ejgk8i8f1cYurJ8XNYJ1qJUXG4zifSaz7eUCQuGbzRSESxmZfCNThKMhzLt/IPuQ6jHBHHBY+hj58lQVHysixKsZ2TvpXNNh2nO/MdEgxToGzX7lj39Vs4HZewIDAQAB"; |
|
String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJ2b+jdcksXhijhLHcfJCuT1kgeIlOpbo0M5Lz1WrhXupkJmSr56OCTyLx/Vxi6snxc1gnWolRcbjOJ9JrPt5QJC4ZvNFIRLGZl8I1OEoyHMu38g+5DqMcEccFj6GPnyVBUfKyLEqxnZO+lc02Hac78x0SDFOgbNfuWPf1Wzgdl7AgMBAAECgYAS6hogNLrkhomo8dLUHBtzmMj6oHiGm5K/SYiSyuk/dpF7XH1R2KcOQAZJwsTy6wJ4rZJHfoDN8h95Ot2/MCiQaHGsXyR8Iuifxed8ptzIZSwZDbhO+mZnoFo7UQIyY8hG7wtMGGbj3BGuQ9esKijbmh10gQIUinbK0zCkOiSC6QJBAPwjQJetteX3DRDoiNBjJ2jEYaC6I5w5MZTI2vd9NNPDdepYMVrzzTyn8zvHOiKt/ew52z6r2kw+0+OuSK1eIL0CQQCgBgkoa0n4yUa2s/Rjanqi1Z1cRt9d4ASFFmX7I1Mh7agt8tY2KI/swwRNtQVA7zKso9kWwx0XY6LPFbdcgFKXAkEApniH/x08CddxkwZUvnGY5X0zkDEVreG9MKTknZ7XMDHPOqh7/bcWfMPOvlstsRP7oOoaLWi9urWIpLy/U2fgaQJBAJaS910MD2/E3QAfto8xazH7dPWWTqnDmB0u5Uj5hUkAmmaaAIy3gC4VluATvFzMds9R4Xz0nVQb0d+wHHgy2wMCQAkPlqEGtKk5ZavUJePMRZXTma+hDac7ObvzkxrHq9d9VK10PtaWgmJieD4fEhvCW/mIvwP/iFgr4obe4rQOZvs="; |
|
|
|
RSA rsa = new RSA(privateKey, publicKey); |
|
|
|
|
|
public String encrypt(String s) throws Exception { |
|
return rsa.encryptBase64(StrUtil.bytes(s, CharsetUtil.CHARSET_UTF_8), KeyType.PublicKey); |
|
} |
|
|
|
public String encrypt(String s, String s1) throws Exception { |
|
RSA custom = new RSA(null, s1); |
|
return custom.encryptBase64(StrUtil.bytes(s, CharsetUtil.CHARSET_UTF_8), KeyType.PublicKey); |
|
} |
|
|
|
|
|
public String decrypt(String s) throws Exception { |
|
return rsa.decryptStr(s, KeyType.PrivateKey); |
|
} |
|
|
|
public String decrypt(String s, String s1) throws Exception { |
|
RSA custom = new RSA(s1, null); |
|
return custom.decryptStr(s, KeyType.PrivateKey); |
|
} |
|
}
|
|
|