MCPcopy Index your code
hub / github.com/f0ng/autoDecoder / decryptKeyivmode

Method decryptKeyivmode

src/com/autoDecoder/util/codeDecode.java:129–357  ·  view source on GitHub ↗
(String encryptedData,String sessionKey,String iv,String encodemode, String ivmode , String paddingmode ,String sSrcmode,String keyivmode)

Source from the content-addressed store, hash-verified

127 }
128
129 public static String decryptKeyivmode(String encryptedData,String sessionKey,String iv,String encodemode, String ivmode , String paddingmode ,String sSrcmode,String keyivmode) throws Exception {
130 encryptedData = encryptedData.trim();
131// BurpExtender.stdout.println(encryptedData);
132// BurpExtender.stdout.println(sessionKey);
133// BurpExtender.stdout.println(iv);
134// BurpExtender.stdout.println(encodemode);
135// BurpExtender.stdout.println(ivmode);
136// BurpExtender.stdout.println(paddingmode);
137// BurpExtender.stdout.println(sSrcmode);
138// BurpExtender.stdout.println(keyivmode);
139//
140//// encryptedData = URLDecoder.decode(encryptedData, "utf-8");
141// if (IndexautoDecoder.getRadioButton11State())
142// encryptedData = URLDecoder.decode(encryptedData, "utf-8");
143
144 Boolean zero = false;
145 if (paddingmode.equals("ZeroPadding")) {
146 paddingmode = "NoPadding";
147 zero = true;
148 }
149
150 if (encodemode.equals("null"))
151 return encryptedData;
152 else if (encodemode.equals("RSA")){
153 try {
154
155 return decrypt(encryptedData, iv);
156
157 }catch (Exception e){
158 return "RSA解密错误";
159 }
160 } else if (encodemode.equals("SM2")){
161 try {
162 SM2 sm2 = SmUtil.sm2(Base64.decodeBase64(iv), Base64.decodeBase64("MFkwEwYHKoZIzj0CAQYIKoEcz1UBgi0DQgAEGjh3yHFUvIQNC0rz6Y5/2/nYS+6jtkfXqnzKVcjrL+h5nRBhWJ1T/xg1lhnTE367iaJ3xD31CDIf/wpVJj+IgQ=="));
163
164 return StrUtil.utf8Str(sm2.decryptFromBcd(encryptedData, KeyType.PrivateKey));
165
166 }catch (Exception e){
167 e.printStackTrace();
168 return "SM2解密错误";
169 }
170 } else if(encodemode.equals("SM4")){ // SM4
171 try {
172 byte[] data = new byte[0];
173 byte[] aseKey = new byte[0];
174 byte[] ivData = new byte[0];
175
176 if (sSrcmode.equals("Base64") ) {
177// System.out.println(URLDecoder.decode(encryptedData, "utf-8").replace(" ", "+"));
178// System.out.println(base64ToHex(URLDecoder.decode(encryptedData, "utf-8").replace(" ", "+")));
179 data = base64ToHex(URLDecoder.decode(encryptedData, "utf-8").replace(" ", "+"));
180// System.out.println(Arrays.toString(data));
181 }
182 if ( sSrcmode.equals("null") || sSrcmode.equals("Hex")) {
183 data = (URLDecoder.decode(encryptedData, "utf-8").replace(" ", "+")).getBytes(StandardCharsets.UTF_8);
184 }
185
186// if (sSrcmode.equals("Hex")) {

Callers 5

mainMethod · 0.95
DecodeMethod · 0.80
actionPerformedMethod · 0.80
processHttpMessageMethod · 0.80
setMessageMethod · 0.80

Calls 8

base64ToHexMethod · 0.95
hexToByteArrayMethod · 0.95
byteToHexMethod · 0.95
decryptData_ECBMethod · 0.95
decryptData_CBCMethod · 0.95
formatWithZeroPaddingMethod · 0.95
decodeMethod · 0.80
decryptMethod · 0.45

Tested by

no test coverage detected