package com.whyc.util; import lombok.extern.slf4j.Slf4j; import org.jasypt.properties.PropertyValueEncryptionUtils; import org.jasypt.util.text.BasicTextEncryptor; import java.util.Objects; @Slf4j public final class JasyptUtils { public static void main(String[] args) { //String a = encrypt("MIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAu7CdCMIoWXUX584JpmE1bTE1r1MtmZGswsSbsm4s9zqETQ4BmUT2kz/wvvGsI8T3ZvTT4KIyKP4Ez+yNVejMM5XwR95KF4e3UwMc724buWKl4pVL09kvkCZt8ZKf359VAvhyHHz80wIiVmJs6xbho7OBsv/s7Hwho0n4HPL4u/eNR5vWa2rtgQG1+fi1XP0UiSRKKW15Va9R2CI3zB+sffquhyX5fi+06NibWzk7OPU+EGvAwkaJtrmfLAvpwr4+G0MBLIsPVFV17Sgpoj62rtfbhHwmLSo1JTw+/JskDQOjxXfw+w3uHAZgPTlEmn2Ya9ssIljqCBfvM9nbGUWcnmppKlPm6kECa4RsgPiRgPFV+nT/Q98kfUTb798Sy63x4NIZkLQn1DDbmcAgUqLR6y1r0fD8Ne3vVtuZlVR/8ZlcRAfb+th2cNN0rytrnUreJo7kPtTFdkNtmj0KdUkRO8ea0YymEQal+b0tCl3V8osSy+qO2OVRd7yCvpOWEYOBAgMBAAE="); String jasA="RFwEWQPojWyBu7BO0WwGEum/3YChVJuxg9i9W02gfSYi4V7Po56zRhFFGdIl60lTFxEA7JVgVZ+BTVVFAJcuaNECgVT0IbuzvGk/8GZslhVXciPqwonQmUxGbGQ9HP7wOl+pCkAB9vPa9qYnGrOb8Ie1c9Yz/ogGJzFBHPB5MFmkAKrt/QC55oBCFhj3+8JZYYDdy8HElZzjtp5BtPD60h0DVOLbw94PG8680VZNDv25yhtAZdsXYIpDpUuxAA+kvp0Zl0dXDRw6BHcPh0PP+q65pz56Fgy+8AXnPEP/o8jkaEs7WWFqqspHsi9joapK4rX47qyQX+2gLdjvI5gqcCucIC/lGl0uGusrWc7HbPGkVWewr7wKIv5hLGc2keMijLjGlqBr2PFBGtPeSk+BVxCIHK4kjKQ32bHP6OE4MtIjzg5G3M2fd04/KWDRqWkYq45oiJc2KBggyYCTUD4KkTVwL4OZxaqC7wQFmJbz2tzA2uvh0ejR3lA+lMSqjWarw7GuHK+L1on6ogzGOM5GHkuehkTvbQdCOOAxARg8YRiNd6tgnGwk7G+spLco3yqTbKcEy6Cr/oJ1ay4apiUgoyakA3/Lz0R+Z2zBKVzHp+kRN6R2Y4JzqmhHdbvLm2UrCkL4NA3NBQICbEiFlIccyUV+w48c3ENb+y+hLuzExI4baY4DF3CNYEwpIi8GEX5rwRlhxrr9FNpxkdx0Tkog+SLu4JMS9LDdiQZNimAxvdZqGpJxpoe6v7GVSs8TjEBy"; decrypt(jasA); //String b = encrypt("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"); String jasB="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"; decrypt(jasB); } /** * 加密使用密钥 */ private static final String PRIVATE_KEY = "hELEEWWEEr9Lu6HgEvttjj8vYhy3ID+PqPbumuXhcHhe"; private static BasicTextEncryptor basicTextEncryptor = new BasicTextEncryptor(); static { basicTextEncryptor.setPassword(Objects.requireNonNull(RSAUtil.decrypt("DF3lSrjXSHClZgQzagH0D038z1gCoG+FcZLPMZ93Ucz1MeNCN+J5iawqQKzMXusXPuHeygfuLSajiCNi8ad2F7H7lpL9FhzjH+2Q9d9d1H2xRe+ElHh0SC8aT4FHgrazhx73wn2MlxX8SIm2PvC8oBLXbM+7KQ4r5bNwiQl0uUOC7D9ONbYzQAy8zCkCBke+h4Q6b5SlGaGz2OswKJPe7Wjpsf/3hnUKV6KP+ACYfFry9Nq13Wb3nsPfjuMnwsmUe8sRxj77pIVmrbEIMaO12GJMJbErA0/1ZjfPkzH3YFZe/mmSOmHegM/jiXnnPemh+LRyZGrKF3Y19B8Cl1EMxp106ss8/7ypYiFn0XWb7gRQqfuqQ8zsU0lOWxCWuk2jyWKxBdftt3edDzmoROHJfllHRffgPZ/MPYg6C6JqBXz7Xqngb0mClwt7OQVSvTau+NdTlMoYdcULOTZqa8IJi4rtUMMnVdhj0Avpl6ekXBPeVcvWsqTpGoep5T0yQJ9M"))); //basicTextEncryptor.setPassword(Objects.requireNonNull(PRIVATE_KEY)); } /** * 私有构造方法,防止被意外实例化 */ private JasyptUtils() { } /** * 明文加密 * * @param plaintext 明文 * @return String */ public static String encrypt(String plaintext) { log.info("明文字符串为:{}", plaintext); // 使用的加密算法参考2.2节内容,也可以在源码的类注释中看到 String ciphertext = basicTextEncryptor.encrypt(plaintext); log.info("密文字符串为:{}", ciphertext); return ciphertext; } /** * 解密 * * @param ciphertext 密文 * @return String */ public static String decrypt(String ciphertext) { log.info("密文字符串为:{}", ciphertext); ciphertext = "ENC(" + ciphertext + ")"; if (PropertyValueEncryptionUtils.isEncryptedValue(ciphertext)) { String plaintext = PropertyValueEncryptionUtils.decrypt(ciphertext, basicTextEncryptor); log.info("明文字符串为:{}", plaintext); return plaintext; } log.error("解密失败!"); return ""; } }