import
java.util.Base64;
import
java.security.MessageDigest;
public
class
Solve {
public
static
void
main(String args[]) {
String p0 =
"1048772Wuaipojie2023"
;
p0 = encode(p0);
byte
bytes[] = p0.getBytes();
p0 = Base64.getEncoder().encodeToString(bytes);
p0 = getMD5(p0);
p0 = cipher(p0,
5
);
System.out.println(
"flag{"
+ p0 +
"}"
);
}
public
static
String encode(String p0) {
int
i = p0.length();
char
uocharArray[] =
new
char
[i];
i = i -
1
;
while
(i >=
0
) {
int
i1 = i -
1
;
int
i2 = p0.charAt(i) ^
0x35
;
uocharArray[i] = (
char
) i2;
if
(i1 <
0
) {
break
;
}
else
{
i = i1 -
1
;
i2 = p0.charAt(i1) ^
0x32
;
uocharArray[i1] = (
char
) i2;
}
}
return
new
String(uocharArray);
}
public
static
char
cipher(
char
p0,
int
p1) {
int
i = (Character.isUpperCase(p0)) ?
65
:
97
;
return
(
char
)((
char
)((((
char
)(p0 - i) + (p1 %
26
)) +
26
) %
26
) + i);
}
public
static
String cipher(String p0,
int
p1) {
String str =
""
;
int
i = p0.length();
int
i1 =
0
;
while
(i1 < i) {
if
((p0.charAt(i1) >=
65
) && (p0.charAt(i1) <=
90
)) {
str = str + cipher(p0.charAt(i1), p1);
}
else
if
((p0.charAt(i1) <
97
) || (p0.charAt(i1) >
122
)) {
str = str + p0.charAt(i1);
}
else
{
str = str + cipher(p0.charAt(i1), p1);
}
i1 = i1 +
1
;
}
return
str;
}
public
static
String getMD5(String text) {
String md5str =
""
;
try
{
MessageDigest md = MessageDigest.getInstance(
"MD5"
);
byte
result[] = md.digest(text.getBytes());
md5str = bytesToHex(result);
}
catch
(Exception e) {
e.printStackTrace();
}
return
md5str;
}
public
static
String bytesToHex(
byte
bytes[]) {
StringBuffer sb =
new
StringBuffer();
for
(
int
i =
0
; i < bytes.length; i++) {
int
number = bytes[i] &
0xff
;
String hex = Integer.toHexString(number);
if
(number >=
0
&& number <
16
) {
sb.append(
"0"
+ hex);
}
else
{
sb.append(hex);
}
}
return
sb.toString();
}
}