/* package whatever; // don't place package name! */
/* The class name doesn't have to be Main, as long as the class is not public. */
import com.sun.org.apache.xml.internal.security.utils.Base64 ;
class Main
{
{
String encodedBytes
= "LyJwNh9iPil3MyMSGRhWCCpXBExXAWZBGg1eFjNcShpSCmZxCwJSAC9TBDxbBTRfCw9KRDNbHkxHCzISBwNBAyNcRkxJAWZfBQlHASgSDgkTEilAAwtWRCRTHg9bATUSBANURCRXHg1fASg=" ;
String base64_str
= Base64.
encode ( str.
getBytes ( "UTF-8" ) ) ;
String message
= Base64.
decode ( encodedBytes.
getBytes ( "UTF-8" ) ) ; String paramString
= "jl3dF2" ; int paramInt= 2 ;
System .
out .
println ( "----------------- START ---------------------" ) ; for ( int i = 0 ; i < message.length ( ) ; i++ )
{
int k = paramString.charAt ( i % paramString.length ( ) ) ;
int j = message.charAt ( i) ;
k &= 1 << paramInt;
str = str + ( k ^ j) ;
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKLyogVGhlIGNsYXNzIG5hbWUgZG9lc24ndCBoYXZlIHRvIGJlIE1haW4sIGFzIGxvbmcgYXMgdGhlIGNsYXNzIGlzIG5vdCBwdWJsaWMuICovCmltcG9ydCBjb20uc3VuLm9yZy5hcGFjaGUueG1sLmludGVybmFsLnNlY3VyaXR5LnV0aWxzLkJhc2U2NDsgCmNsYXNzIE1haW4KewogIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluIChTdHJpbmdbXSBhcmdzKSB0aHJvd3MgamF2YS5sYW5nLkV4Y2VwdGlvbgogIHsKICBTdHJpbmcgZW5jb2RlZEJ5dGVzID0iTHlKd05oOWlQaWwzTXlNU0dSaFdDQ3BYQkV4WEFXWkJHZzFlRmpOY1NocFNDbVp4Q3dKU0FDOVRCRHhiQlRSZkN3OUtSRE5iSGt4SEN6SVNCd05CQXlOY1JreEpBV1pmQlFsSEFTZ1NEZ2tURWlsQUF3dFdSQ1JUSGc5YkFUVVNCQU5VUkNSWEhnMWZBU2c9IjsKClN0cmluZyBzdHI9IkhlbGxvIFdvcmxkIjsgClN0cmluZyBiYXNlNjRfc3RyPUJhc2U2NC5lbmNvZGUoc3RyLmdldEJ5dGVzKCJVVEYtOCIpKTsgCgogIFN0cmluZyBtZXNzYWdlID0gQmFzZTY0LmRlY29kZShlbmNvZGVkQnl0ZXMuZ2V0Qnl0ZXMoIlVURi04IikpOyAKICBTdHJpbmcgcGFyYW1TdHJpbmcgPSAiamwzZEYyIjsKICBpbnQgcGFyYW1JbnQ9IDI7CiAgU3RyaW5nIHN0cj0gIiI7CiAgCiAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiLS0tLS0tLS0tLS0tLS0tLS0gU1RBUlQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CiAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtZXNzYWdlLmxlbmd0aCgpOyBpKyspCiAgICAgIHsKICAgICAgICBpbnQgayA9IHBhcmFtU3RyaW5nLmNoYXJBdChpICUgcGFyYW1TdHJpbmcubGVuZ3RoKCkpOwogICAgICAgIGludCBqID0gbWVzc2FnZS5jaGFyQXQoaSk7CiAgICAgICAgayAmPSAxIDw8IHBhcmFtSW50OwogICAgICAgIHN0ciA9IHN0ciArIChrIF4gaik7CiAgICAgIH0KICAgICAgU3lzdGVtLm91dC5wcmludGxuKHN0cik7CiAgfQp9