Merge branch 'master' into feature-ipv4header
This commit is contained in:
commit
d6cebe55ab
5 files changed
+41
-23
No files matched your search
@@ -85,11 +85,11 @@
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.clo,.opn,.pun{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.kwd,.tag,.typ{font-weight:700}.str{color:#060}.kwd{color:#006}.com{color:#600;font-style:italic}.typ{color:#404}.lit{color:#044}.clo,.opn,.pun{color:#440}.tag{color:#006}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}#content-wrapper{top:0;left:0;width:100%;height:100%}#banner{height:30px;width:100%;text-align:center;line-height:30px}#wrapper{top:30px;bottom:0;width:100%}div#operations,div#recipe{width:50%;height:100%}div#input,div#output{width:100%;height:50%}.title{padding:10px;height:43px}.textarea-wrapper{top:43px;bottom:0;width:100%;overflow:hidden}#output-html,textarea{width:100%;height:100%;border:none;padding:3px;-moz-padding-start:3px;-moz-padding-end:3px}#input-text,#output-html,#output-text{position:relative;border-width:0;margin:0;resize:none;background-color:transparent;white-space:pre-wrap;word-wrap:break-word}#output-html{display:none;overflow-y:auto;-moz-padding-start:1px}.split{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:auto;position:relative}.gutter.gutter-horizontal,.split.split-horizontal{height:100%;float:left}#input-highlighter,#output-highlighter{position:absolute;left:0;top:0;width:100%;height:100%;padding:3px;margin:0;overflow:hidden;letter-spacing:normal;white-space:pre-wrap;word-wrap:break-word;color:#fff;background-color:transparent;border:none}#op-list,#rec-list,.op-list{margin:0;padding:0;list-style-type:none}#op-list,#rec-list{position:absolute;top:43px;bottom:0;width:100%}.io-btn-group,.io-info{margin-top:-4px;float:right}#rec-list{bottom:120px;overflow:auto}.operation{cursor:pointer;padding:10px;list-style-type:none;position:relative}#controls{position:absolute;width:100%;height:120px;bottom:0;padding:10px}.io-info{margin-right:20px;height:30px;text-align:right;line-height:10px}.arg-group,.inline-args input[type=checkbox]{margin-top:10px}#input-info{line-height:15px}.arg-group{display:table;width:100%}.arg-group-text{display:block}.inline-args{float:left;width:auto;margin-right:30px;height:34px}.inline-args input[type=number]{width:100px}.arg-input{display:table-cell;width:100%;padding:6px 12px}.short-string{width:150px}select{display:block}.arg[disabled]{cursor:not-allowed;opacity:1}textarea.arg{width:100%;min-height:50px;height:70px;margin-top:5px;border:1px solid #ddd;resize:vertical}.arg-label{display:table-cell;width:1px;padding-right:10px;font-weight:400;white-space:pre}.title,optgroup{font-weight:700}.editable-option{position:relative;display:inline-block}.editable-option-select{min-width:250px}.editable-option-input{position:absolute;top:1px;left:1px;width:calc(100% - 20px);height:calc(100% - 2px)!important;border:none!important}#operational-controls{width:65%;float:left;text-align:center}#bake-group{display:table;width:100%}#bake{display:table-cell;width:100%;border-top-right-radius:0;border-bottom-right-radius:0}#auto-bake-label{display:table-cell;padding:1px;line-height:1.35;width:60px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #5cb85c}#auto-bake-label:hover{border-left-color:#398439}#auto-bake-label div{font-size:10px;padding:2px}#extra-controls{float:right;width:35%;padding-left:10px}.op-icon{float:right;margin-left:10px;margin-top:3px}.recip-icons{position:absolute;top:13px;right:10px;height:16px}.recip-icon{margin-right:10px;vertical-align:baseline;float:right}.disable-icon{width:16px;height:16px;margin-top:-1px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACfElEQVQ4y6WTPWgTYRjHf8nlfVvuoDVIP4Yuki4WHKoUqggFRUTsUEGkVG2hmCq6OnTwIxYHB+eijZOKdLNDW1pKKyGigh8dBHUJElxyBgx3vEnukvdyDrUhRXDxGR+e/+/583xEwjDkfyIGwNVTzURm4tYAMA6MAoN/0tvAMrA48uL+l2bx4w0iYRjSuHKC6OnTZLqHk8CcaZq9bW1tSCkBqNVq+L5PpVIpAHdGfr5LN9bXiT7Z2nGgteb1/qFkLBJZ6OjowHEc8vk8pVIJgHg8TldXF52dnb2u6y5s7R/iuF5JSyAKkLl4eyAMwznLsrBtm1wu99Z13amk+BFJih8R13WXANrb27EsizAM5zIXbw+wC9Baj0spe5VSFAqFt4ZhXJ6ufXuK55E5cDKVSCTGenp6yGazKKWQUvZqrcebgCAIRqWUOI6DEOLR1K8POapVMgfPpoC7u2LLspYcx0FKSRAEo60OBg3DwPd9Jr5vPqWvj8zh83vEwL2J75vnfN/HMAy01oPNNQZBQBAEO1OvVsl0D/8lTuZfpYDd7gRBQKuD7XK5jGmarB679PIv8deVFJUKq8cuTZqmSblcRmu93QpYVkohhMCyrLE94n2/UlSrbJy5kRBCXBNCoJRCa73cClh0XbfgeR6WZZHNZunv719KvnmeYnWVVxdmJ2Ox2DMhxFHP83Bdt6C1XgR2LvHzQDvvb84npZQL8Xgc0zSJRqN7br7RaFCpVCiVStRqtZmhh9fTh754TQdMr82nPc+bsW27UCwWUUpRr9ep1+sopSgWi9i2XfA8b2Z6bT6ttabp4GMi0uz0aXbhn890+MFM85mO5MIdwP/Eb1pMUCdctYRzAAAAAElFTkSuQmCC) no-repeat}.disable-icon-selected{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVR4XqWTP0tbURjGn9zY3mjBwLine truncated
|
||||
*/.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.clo,.opn,.pun{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.kwd,.tag,.typ{font-weight:700}.str{color:#060}.kwd{color:#006}.com{color:#600;font-style:italic}.typ{color:#404}.lit{color:#044}.clo,.opn,.pun{color:#440}.tag{color:#006}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}#content-wrapper{top:0;left:0;width:100%;height:100%}#banner{height:30px;width:100%;text-align:center;line-height:30px}#wrapper{top:30px;bottom:0;width:100%}div#operations,div#recipe{width:50%;height:100%}div#input,div#output{width:100%;height:50%}.title{padding:10px;height:43px}.textarea-wrapper{top:43px;bottom:0;width:100%;overflow:hidden}#output-html,textarea{width:100%;height:100%;border:none;padding:3px;-moz-padding-start:3px;-moz-padding-end:3px}#input-text,#output-html,#output-text{position:relative;border-width:0;margin:0;resize:none;background-color:transparent;white-space:pre-wrap;word-wrap:break-word}#output-html{display:none;overflow-y:auto;-moz-padding-start:1px}.split{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;overflow:auto;position:relative}.gutter.gutter-horizontal,.split.split-horizontal{height:100%;float:left}#input-highlighter,#output-highlighter{position:absolute;left:0;top:0;width:100%;height:100%;padding:3px;margin:0;overflow:hidden;letter-spacing:normal;white-space:pre-wrap;word-wrap:break-word;color:#fff;background-color:transparent;border:none}#op-list,#rec-list,.op-list{margin:0;padding:0;list-style-type:none}#op-list,#rec-list{position:absolute;top:43px;bottom:0;width:100%}.io-btn-group,.io-info{margin-top:-4px;float:right}#rec-list{bottom:120px;overflow:auto}.operation{cursor:pointer;padding:10px;list-style-type:none;position:relative}#controls{position:absolute;width:100%;height:120px;bottom:0;padding:10px}.io-info{margin-right:20px;height:30px;text-align:right;line-height:10px}.arg-group,.inline-args input[type=checkbox]{margin-top:10px}#input-info{line-height:15px}.arg-group{display:table;width:100%}.arg-group-text{display:block}.inline-args{float:left;width:auto;margin-right:30px;height:34px}.inline-args input[type=number]{width:100px}.arg-input{display:table-cell;width:100%;padding:6px 12px}.short-string{width:150px}select{display:block}.arg[disabled]{cursor:not-allowed;opacity:1}textarea.arg{width:100%;min-height:50px;height:70px;margin-top:5px;border:1px solid #ddd;resize:vertical}.arg-label{display:table-cell;width:1px;padding-right:10px;font-weight:400;white-space:pre}.title,optgroup{font-weight:700}.editable-option{position:relative;display:inline-block}.editable-option-select{min-width:250px}.editable-option-input{position:absolute;top:1px;left:1px;width:calc(100% - 20px);height:calc(100% - 2px)!important;border:none!important}#operational-controls{width:65%;float:left;text-align:center}#bake-group{display:table;width:100%}#bake{display:table-cell;width:100%;border-top-right-radius:0;border-bottom-right-radius:0}#auto-bake-label{display:table-cell;padding:1px;line-height:1.35;width:60px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid #5cb85c}#auto-bake-label:hover{border-left-color:#398439}#auto-bake-label div{font-size:10px;padding:2px}#extra-controls{float:right;width:35%;padding-left:10px}.op-icon{float:right;margin-left:10px;margin-top:3px}.recip-icons{position:absolute;top:13px;right:10px;height:16px}.recip-icon{margin-right:10px;vertical-align:baseline;float:right}.disable-icon{width:16px;height:16px;margin-top:-1px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAACfElEQVQ4y6WTPWgTYRjHf8nlfVvuoDVIP4Yuki4WHKoUqggFRUTsUEGkVG2hmCq6OnTwIxYHB+eijZOKdLNDW1pKKyGigh8dBHUJElxyBgx3vEnukvdyDrUhRXDxGR+e/+/583xEwjDkfyIGwNVTzURm4tYAMA6MAoN/0tvAMrA48uL+l2bx4w0iYRjSuHKC6OnTZLqHk8CcaZq9bW1tSCkBqNVq+L5PpVIpAHdGfr5LN9bXiT7Z2nGgteb1/qFkLBJZ6OjowHEc8vk8pVIJgHg8TldXF52dnb2u6y5s7R/iuF5JSyAKkLl4eyAMwznLsrBtm1wu99Z13amk+BFJih8R13WXANrb27EsizAM5zIXbw+wC9Baj0spe5VSFAqFt4ZhXJ6ufXuK55E5cDKVSCTGenp6yGazKKWQUvZqrcebgCAIRqWUOI6DEOLR1K8POapVMgfPpoC7u2LLspYcx0FKSRAEo60OBg3DwPd9Jr5vPqWvj8zh83vEwL2J75vnfN/HMAy01oPNNQZBQBAEO1OvVsl0D/8lTuZfpYDd7gRBQKuD7XK5jGmarB679PIv8deVFJUKq8cuTZqmSblcRmu93QpYVkohhMCyrLE94n2/UlSrbJy5kRBCXBNCoJRCa73cClh0XbfgeR6WZZHNZunv719KvnmeYnWVVxdmJ2Ox2DMhxFHP83Bdt6C1XgR2LvHzQDvvb84npZQL8Xgc0zSJRqN7br7RaFCpVCiVStRqtZmhh9fTh754TQdMr82nPc+bsW27UCwWUUpRr9ep1+sopSgWi9i2XfA8b2Z6bT6ttabp4GMi0uz0aXbhn890+MFM85mO5MIdwP/Eb1pMUCdctYRzAAAAAElFTkSuQmCC) no-repeat}.disable-icon-selected{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACFUlEQVR4XqWTP0tbURjGn9zY3mjBwLine truncated
|
||||
if (navigator.userAgent && navigator.userAgent.match(/MSIE \d\d?\./)) {
|
||||
document.write("Internet Explorer is not supported, please use Firefox or Chrome instead");
|
||||
alert("Internet Explorer is not supported, please use Firefox or Chrome instead");
|
||||
}</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAE1UlEQVR4XoWVC0xT1x/Hv729t7e3LSoqWIRNW6uoARVH5mPGzfcmRvbSacISI5n42Mss25jROd0mOjXO7C9/3XSZdvjIlsxFYCrETWe34nQpD4GIIKgDIaAilpZH+9svJ9BUg/O0n9w2J+fz+55f77nVEREeN2wpWw0AEph7TPW1vMzHLpL/QzYJwGpmKjOM8TMSGJ6rAHCW2cFF6vsSiMR9pMtiMhIcVvMz44eBr0gcaRXzZVcbUXq1AS5PbRd/9gFYxfLDD4ulh6RjAFRqqpzxyco55q83vIwnrAPgKqnD29tP4N0deSgquwl73GAc2LhI2bRqbj9NVfbxulzG1KeYpSqA/LH2IcPz/5du5gVIXevE9kO/o8BdjVstXty67UXhXzXYffRPvP7xjxgcacEve5ZbEh0xswHsflTirZpRic5e96Jup/McPjvwK28/BlvemofjO9Nw7ps3ULBnGQ5uegVL5o1DEMCOHBcO5Rfjq8xUlYMs5XAzQjYiwvD5WZMYrzP3Eh095aHExV9SctoeOna6hB41jhWWUcraHHr+HSeddlfR4ZMesqVkNbLHws5Q4jcnxMeYZj7twC5OoaqKgACccl/F+r1nkLEtF0cKLocCzUq2QdNUaEYDvs31YO7kkUgaHWsGkBLeiqnTkmzcyyp0BwgGRYZqUOA8WYq9P13ClZt3cN8XgKv0Zkgs6yWYNIMQB0iHC+X1mJ48wgRgMnruSSOAJ8dxP8uvNUFR9EJsMMhQZL0oYFQNQpK+YEJIXFLTzFIVRhbzPGob7iLRYdVJkm56b+LxjI/vU1TWNkNmmcJigSgg2oKM1CQkjRoipNcb7yHPXSvSaizledQ1tmHM8CgQ0Zjek3efkXQ6HSTenqzXM5JIK8TMwmkOJI8WB0QInIVXoHBBjgdOCPBbkWWwA/zy94orGLm8pgkJ9iH4g/uoZzEDUYQLjHdEo3ecKa7nggoknuvq6hbFgkHCiLhIXLnezMV0HtEKPo5BAJXl1bcw1h4NTsBIAr2kEwWyj5dgs/MCvvjBg7vt3dA0g+gt70bsTC9LsA/tDw4XDASC58IPyNnzxXWB556ywWiQRQodw1sTpM0ZjRUpCVg2Jx6REUaYNFUIuXXghNB4TaI9CmeKqvwA3OHibe7iOl9R2Q2kp04UYhIQiAjRkSZYB5oQPUADKAifvxPd3QFuQZC/EhZMseO8p47+rvynHMCpkLjn0bdm4/9Pt09OiMPE+BixKBggcQUhNDo6u+HzdcDf0YVO7nF8XH/YrBFYtzuvnduwOPSsJqIQfCQLlmQe7mhobqM8VxUt//wEpW/NpzW7Cum97LP00X4XbfjOTRsPFtGn31+goooGarrjpUUf5Hj5PKwOd0kIG0R4qaj0+pF5q/d7iYLIWjUDrz47CuPsg2BW9TAZJIziH2nmhFisWZiI5tttNHPFPu/Fyzfer8n9MBsPyugBAFisU1a+Zpu/pSVt/VHf/uMXg+7SG9TS2i7g5zEd+PliYGlmjt/+wuby/o4ZswHEMpYwT/g/iLgLIgEMZAYp5qih/WzTZhksUQlqxOB4yOYoHQLBgL+1ydfaUNXZ2lDRWv2bC6AWAHcYvqKefb4+/5pYLgPQGBMT0UM/xsJIjK/ntLb1XL09+ClM9i/zfjVLWKBgfAAAAABJRU5ErkJggg=="></a><a href="#" id="options" class="banner-right">Options<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAD4UlEQVR4XpWTbWxTVRzGn9vhWlnZG1NYlwFLMGCUYfEt2dqwuDBfljGCUZkjgCgZyBeWBQ1ki1TmuvkFkw3JNAw1BhwmOslmtCwZmtDooCs6MCM4m6bQjtEVUtrStds9/s9J7/1wa5f4JE/+Pb25vzzPPedI0OgDEoAjEML75DGbzTaM/ykd0nVk/7v7cPjwITQ0bOsCcL6lpaUWgISFJXHeQmDT8U9PgMkySkwmDofRaBwEwDLBn9nzdfGHJ87JNL/SgiX6Ak+BRLUDHG7v7MJs/AHKysq0qbRQ/p6/bW8dTHlYTuthBSy1trbaALgJflSBWywWSFJaIRnpcl/6rBEulwtvVeZUm1caqkFaRH4oKyurbd/ePdBlZR8E0FpeXo61a9eAMZngEhKz0d95I2pzJT0tMDk5CZ/Ph49+jIJkUqv19vaO12+ue3Lx4oeRTCQIyIQV5eYXoKPDLl7ibVQo4HYefx0V+88iJfPlz7dfUcGUpthgMPz1Uk11/uNPrOMp1b0K37sLAc/LR4e9U8CH/I8t49DR3jfnnms6zVtvIuB/H0leta+v7zJNpnhoaCgxOxtnwekpdud2gMViUXbqVB+jtCwej4spkqeLomUQbwHASu7nZzo0E8TVGzfx8YAX3x+tRVXzgFpdA1DqqsrYhMxODoyKhB6PhzW0fcvOnDnN+DMNULPIcOiDt3x+ZV1UUooLx7ZgV6cDW8wGvLF5E9rb25UNnQYwr7nSmaGv1axB+4GXcWD786C1qP/qs3koLcrBVMDP24Dkp7kOGukWgu6ot0COBLEkPx/V5lwBnxj7FVarFQZ9Nmbu3Fbgbr75GnA69J2t67F760Y4fj6PX1zXAd0izM/NqWeVqmPpI8v4scwI12mhh962oLG2Amd/GMalax5UULqJib+RTMTBFQ6Hg4lE4mkOLyx6FCQVrtfrVbh6NVe9YmdfDv7GQvdjzNbdz3a9d4yd/OlPdvCT71hjcxfjz1fXNK8GkEM2NjU1VRKEybLMbvq8bOfOHeI3/09NTEndzbRB9VXr0X/uAjw+P6wvVIukfu8NXLwuIzk9Zo4FvbkACslLx8fHk+RantxEJ6anp4e3gZD4eCmtXFWKeZlh+pYnDRr5x1EVnBhJpoIU8Ol0OucABCKRyLbu7u5vQqEQKPFoMpm0A5BU8PCIEzNhMza+WIc/rqlQxLwjlQQNavZEVu6Aw+FwkVcAiJLjZLHLAly4vHjD4EX/GEhu8oNYRED1umiVXFByD4ACllLmYqm1TJ4XQGHxm6k3b8PuL8yhqQCHCxmXZK+42t8ypbn3UvpUn8spM+5/AT4U+4f4kq1OAAAAAElFTkSuQmCC"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGLklEQVR4Xq1XXWxUxxX+7t2769312muE7UCMowSXQDBxHmpo5VQqimQjRaiKlPBQiahKFaG8hCrICc4LT0lDhR8ixXnCElFaAQ9RUWLIgsHgKqCkpBY/TYrruja73nXtrL3e3/v7M5kzMtfRZlcBup/0aWbunXPON+foXp2RGGMgSJKEchw7diza1dV1QpblbgDtq/sq7iU/qxPYjnMLwLRt22f37t37MQC32n4FlSGPjIy8EolEhjs6OsBHBIJBWKYJ07Q4TVi2LdayoiDgDyAQUDgDkCUff64/YxjGM4VC4cXLly+fOHToUOjmzZt6xUCojGAoFBru6elB26ZNCPLgtmWBnwiO48B1XTicNDIiE3NBn0/mghvA7eHz+0FIJpP1qIjqGQiRMzoRnZTmXoq9MqxRU0vImxZ0XYdu6HytolDIT01P/3d8YGBgGID7oAJ8PwwmyzI/mY+EiCzkclkUcjkezBDrcDgsytTa2oKWllZMTf0be/bseRVAmjPDWXpQASKoZVli5LXEwuIictkVmIaJaNM6NESjaICEMA8cqqtDXbAOoWCQKIRyJDkXOI2HyYAzMTHxRwa8KUHyMwAdHZvRsbkDsuKHpmlQOTVVg8QFyjw7PsUvSKBx9dQaPDyYAO3w4cMnAHzO2XDt7zdiyYUMEqkluMwFwCCJ8pR/lhKEIE4PDylA55xfrV/Lmf5d2NbVwmvdhECoCYq/AbISAaR6JGZmcHc2Adex4GcmbDMPx2H/twCXU12lEqiPQjNCsJiMgOVAknUsLi4gHp9HV/dTeGH/87BtF6f/fAFNIQZeDABp3A/uKLine truncated
|
||||
}</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAE1UlEQVR4XoWVC0xT1x/Hv729t7e3LSoqWIRNW6uoARVH5mPGzfcmRvbSacISI5n42Mss25jROd0mOjXO7C9/3XSZdvjIlsxFYCrETWe34nQpD4GIIKgDIaAilpZH+9svJ9BUg/O0n9w2J+fz+55f77nVEREeN2wpWw0AEph7TPW1vMzHLpL/QzYJwGpmKjOM8TMSGJ6rAHCW2cFF6vsSiMR9pMtiMhIcVvMz44eBr0gcaRXzZVcbUXq1AS5PbRd/9gFYxfLDD4ulh6RjAFRqqpzxyco55q83vIwnrAPgKqnD29tP4N0deSgquwl73GAc2LhI2bRqbj9NVfbxulzG1KeYpSqA/LH2IcPz/5du5gVIXevE9kO/o8BdjVstXty67UXhXzXYffRPvP7xjxgcacEve5ZbEh0xswHsflTirZpRic5e96Jup/McPjvwK28/BlvemofjO9Nw7ps3ULBnGQ5uegVL5o1DEMCOHBcO5Rfjq8xUlYMs5XAzQjYiwvD5WZMYrzP3Eh095aHExV9SctoeOna6hB41jhWWUcraHHr+HSeddlfR4ZMesqVkNbLHws5Q4jcnxMeYZj7twC5OoaqKgACccl/F+r1nkLEtF0cKLocCzUq2QdNUaEYDvs31YO7kkUgaHWsGkBLeiqnTkmzcyyp0BwgGRYZqUOA8WYq9P13ClZt3cN8XgKv0Zkgs6yWYNIMQB0iHC+X1mJ48wgRgMnruSSOAJ8dxP8uvNUFR9EJsMMhQZL0oYFQNQpK+YEJIXFLTzFIVRhbzPGob7iLRYdVJkm56b+LxjI/vU1TWNkNmmcJigSgg2oKM1CQkjRoipNcb7yHPXSvSaizledQ1tmHM8CgQ0Zjek3efkXQ6HSTenqzXM5JIK8TMwmkOJI8WB0QInIVXoHBBjgdOCPBbkWWwA/zy94orGLm8pgkJ9iH4g/uoZzEDUYQLjHdEo3ecKa7nggoknuvq6hbFgkHCiLhIXLnezMV0HtEKPo5BAJXl1bcw1h4NTsBIAr2kEwWyj5dgs/MCvvjBg7vt3dA0g+gt70bsTC9LsA/tDw4XDASC58IPyNnzxXWB556ywWiQRQodw1sTpM0ZjRUpCVg2Jx6REUaYNFUIuXXghNB4TaI9CmeKqvwA3OHibe7iOl9R2Q2kp04UYhIQiAjRkSZYB5oQPUADKAifvxPd3QFuQZC/EhZMseO8p47+rvynHMCpkLjn0bdm4/9Pt09OiMPE+BixKBggcQUhNDo6u+HzdcDf0YVO7nF8XH/YrBFYtzuvnduwOPSsJqIQfCQLlmQe7mhobqM8VxUt//wEpW/NpzW7Cum97LP00X4XbfjOTRsPFtGn31+goooGarrjpUUf5Hj5PKwOd0kIG0R4qaj0+pF5q/d7iYLIWjUDrz47CuPsg2BW9TAZJIziH2nmhFisWZiI5tttNHPFPu/Fyzfer8n9MBsPyugBAFisU1a+Zpu/pSVt/VHf/uMXg+7SG9TS2i7g5zEd+PliYGlmjt/+wuby/o4ZswHEMpYwT/g/iLgLIgEMZAYp5qih/WzTZhksUQlqxOB4yOYoHQLBgL+1ydfaUNXZ2lDRWv2bC6AWAHcYvqKefb4+/5pYLgPQGBMT0UM/xsJIjK/ntLb1XL09+ClM9i/zfjVLWKBgfAAAAABJRU5ErkJggg=="></a><a href="#" id="options" class="banner-right">Options<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAD4UlEQVR4XpWTbWxTVRzGn9vhWlnZG1NYlwFLMGCUYfEt2dqwuDBfljGCUZkjgCgZyBeWBQ1ki1TmuvkFkw3JNAw1BhwmOslmtCwZmtDooCs6MCM4m6bQjtEVUtrStds9/s9J7/1wa5f4JE/+Pb25vzzPPedI0OgDEoAjEML75DGbzTaM/ykd0nVk/7v7cPjwITQ0bOsCcL6lpaUWgISFJXHeQmDT8U9PgMkySkwmDofRaBwEwDLBn9nzdfGHJ87JNL/SgiX6Ak+BRLUDHG7v7MJs/AHKysq0qbRQ/p6/bW8dTHlYTuthBSy1trbaALgJflSBWywWSFJaIRnpcl/6rBEulwtvVeZUm1caqkFaRH4oKyurbd/ePdBlZR8E0FpeXo61a9eAMZngEhKz0d95I2pzJT0tMDk5CZ/Ph49+jIJkUqv19vaO12+ue3Lx4oeRTCQIyIQV5eYXoKPDLl7ibVQo4HYefx0V+88iJfPlz7dfUcGUpthgMPz1Uk11/uNPrOMp1b0K37sLAc/LR4e9U8CH/I8t49DR3jfnnms6zVtvIuB/H0leta+v7zJNpnhoaCgxOxtnwekpdud2gMViUXbqVB+jtCwej4spkqeLomUQbwHASu7nZzo0E8TVGzfx8YAX3x+tRVXzgFpdA1DqqsrYhMxODoyKhB6PhzW0fcvOnDnN+DMNULPIcOiDt3x+ZV1UUooLx7ZgV6cDW8wGvLF5E9rb25UNnQYwr7nSmaGv1axB+4GXcWD786C1qP/qs3koLcrBVMDP24Dkp7kOGukWgu6ot0COBLEkPx/V5lwBnxj7FVarFQZ9Nmbu3Fbgbr75GnA69J2t67F760Y4fj6PX1zXAd0izM/NqWeVqmPpI8v4scwI12mhh962oLG2Amd/GMalax5UULqJib+RTMTBFQ6Hg4lE4mkOLyx6FCQVrtfrVbh6NVe9YmdfDv7GQvdjzNbdz3a9d4yd/OlPdvCT71hjcxfjz1fXNK8GkEM2NjU1VRKEybLMbvq8bOfOHeI3/09NTEndzbRB9VXr0X/uAjw+P6wvVIukfu8NXLwuIzk9Zo4FvbkACslLx8fHk+RantxEJ6anp4e3gZD4eCmtXFWKeZlh+pYnDRr5x1EVnBhJpoIU8Ol0OucABCKRyLbu7u5vQqEQKPFoMpm0A5BU8PCIEzNhMza+WIc/rqlQxLwjlQQNavZEVu6Aw+FwkVcAiJLjZLHLAly4vHjD4EX/GEhu8oNYRED1umiVXFByD4ACllLmYqm1TJ4XQGHxm6k3b8PuL8yhqQCHCxmXZK+42t8ypbn3UvpUn8spM+5/AT4U+4f4kq1OAAAAAElFTkSuQmCC"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAGLklEQVR4Xq1XXWxUxxX+7t2769312muE7UCMowSXQDBxHmpo5VQqimQjRaiKlPBQiahKFaG8hCrICc4LT0lDhR8ixXnCElFaAQ9RUWLIgsHgKqCkpBY/TYrruja73nXtrL3e3/v7M5kzMtfRZlcBup/0aWbunXPON+foXp2RGGMgSJKEchw7diza1dV1QpblbgDtq/sq7iU/qxPYjnMLwLRt22f37t37MQC32n4FlSGPjIy8EolEhjs6OsBHBIJBWKYJ07Q4TVi2LdayoiDgDyAQUDgDkCUff64/YxjGM4VC4cXLly+fOHToUOjmzZt6xUCojGAoFBru6elB26ZNCPLgtmWBnwiO48B1XTicNDIiE3NBn0/mghvA7eHz+0FIJpP1qIjqGQiRMzoRnZTmXoq9MqxRU0vImxZ0XYdu6HytolDIT01P/3d8YGBgGID7oAJ8PwwmyzI/mY+EiCzkclkUcjkezBDrcDgsytTa2oKWllZMTf0be/bseRVAmjPDWXpQASKoZVli5LXEwuIictkVmIaJaNM6NESjaICEMA8cqqtDXbAOoWCQKIRyJDkXOI2HyYAzMTHxRwa8KUHyMwAdHZvRsbkDsuKHpmlQOTVVg8QFyjw7PsUvSKBx9dQaPDyYAO3w4cMnAHzO2XDt7zdiyYUMEqkluMwFwCCJ8pR/lhKEIE4PDylA55xfrV/Lmf5d2NbVwmvdhECoCYq/AbISAaR6JGZmcHc2Adex4GcmbDMPx2H/twCXU12lEqiPQjNCsJiMgOVAknUsLi4gHp9HV/dTeGH/87BtF6f/fAFNIQZeDABp3A/uKLine truncated
|
||||
* CyberChef - The Cyber Swiss Army Knife
|
||||
*
|
||||
* @copyright Crown Copyright 2016
|
||||
@@ -373,10 +373,10 @@ Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.val
|
||||
return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c<a.length;c++)if(c<a.length-2&&"-"===a[c+1]&&"\\"!==a[c]){for(var d=Utils.ord(a[c]),e=Utils.ord(a[c+2]),f=Line truncated
|
||||
},runRabbitEnc:function(a,b){return Cipher._enc(CryptoJS.Rabbit,a,b)},runRabbitDec:function(a,b){return Cipher._dec(CryptoJS.Rabbit,a,b)},BLOWFISH_MODES:["ECB","CBC","PCBC","CFB","OFB","CTR"],BLOWFISH_OUTPUT_TYPES:["Base64","Hex","String","Raw"],runBlowfishEnc:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];if(0===c.length)return"Enter a key";var f=blowfish.encrypt(a,c,{outputType:1,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}),g=CryptoJS.enc.Hex.parse(f);return g.toString(Utils.format[e])},runBlowfishDec:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];return 0===c.length?"Enter a key":(a=Utils.format[e].parse(a),blowfish.decrypt(a.toString(CryptoJS.enc.Base64),c,{outputType:0,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}))},KDF_KEY_SIZE:256,KDF_ITERATIONS:1,runPbkdf2:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.PBKDF2(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runEvpkdf:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","default-markup","bash","bsh","c","cc","coffee","cpp","cs","csh","cv","cxx","cyc","htm","html","in.tag","java","javascript","js","json","m","mxml","perl","pl","pm","py","python","rb","rc","rs","ruby","rust","sh","uq.val","xhtml","xml","xsl"],LINE_NUMS:!1,runSyntaxHighlight:function(a,b){var c=b[0],d=b[1];return"<code class='prettyprint'>"+prettyPrintOne(Utils.escapeHtml(a),c,d)+"</code>"},BEAUTIFY_INDENT:"\\t",runXmlBeautify:function(a,b){var c=b[0];return vkbeautify.xml(a,c)},runJsonBeautify:function(a,b){var c=b[0];return a?vkbeautify.json(a,c):""},runCssBeautify:function(Line truncated
|
||||
},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,runSwapEndianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.fromHex(a);break;case"Raw":f=Utils.strToByteArray(a);break;default:f=a}for(i=0;i<f.length;i+=d){var k=f.slice(i,i+d);if(e&&k.length<d)for(j=k.length;j<d;j++)k.push(0);h.push(k)}for(i=0;i<h.length;i++)for(j=h[i].length;j--;)g.push(h[i][j]);switch(c){case"Hex":return Utils.toHex(g);case"Raw":return Utils.byteArrayToUtf8(g);default:return g}}},Entropy={CHUNK_SIZE:1e3,runEntropy:function(a,b){var c=b[0],d="",e=Entropy._calcEntropy(a);d+="Shannon entropy: "+e+"\n<br><canvas id='chart-area'></canvas><br>\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n<br><script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), entropy = "+e+", height = parentRect.height * 0.25; canvas.width = parentRect.width * 0.95; canvas.height = height > 150 ? 150 : height; CanvasComponents.drawScaleBar(canvas, entropy, 8, [ { label: 'English text', min: 3.5, max: 5 },{ label: 'Encrypted/compressed', min: 7.5, max: 8 } ]); <\/script>";var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id='chart-area'></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, 'Byte', 'Frequency %', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%'\"()<>= !\\[\\]{}@]",f=new RegExp(e+"{"+c+",}","ig");return Extract._search(a,f,null,d)},INCLUDE_IPV4:!0,INCLUDE_IPV6:!1,REMOVE_LOCAL:!1,runIp:function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g="(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?",h="((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})",i="";if(c&&d?i=g+"|"+h:c?i=g:d&&(i=h),i){var j=new RegExp(i,"ig");if(e){var k="10\\..+",l="192\\.168\\..+",m="172\\.(?:1[6-9]|2\\d|3[01])\\..+",n="127\\..+",o=new RegExp("^(?:"+k+"|"+l+"|"+m+"|"+n+")");return Extract._search(a,j,o,f)}return Extract._search(a,j,null,f)}return""},runEmail:function(a,b){var c=b[0],d=/\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi;return Extract._search(a,d,null,c)},runMac:function(a,b){var c=b[0],d=/[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi;return Extract._search(a,d,null,c)},runUrls:function(a,b){var c=b[0],d="[A-Z]+://",e="[-\\w]+(?:\\.\\w[-\\w]*)+",f=":\\d+",g="/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*";g+="(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*";var h=new RegExp(d+e+"(?:"+f+")?(?:"+g+")?","ig");return Extract._search(a,h,null,c)},runDomains:function(a,b){var c=b[0],d="https?://"Line truncated
|
||||
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIpv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");return d},IP_FORMAT_LIST:["Dotted Decimal","Decimal","Hex"],runChangeIpFormat:function(a,b){for(var c=b[0],d=b[1],e=a.split("\n"),f="",g=0,h=0;h<e.length;h++)if(""!==e[h]){var i=[];if(c!==d){switch(c){casLine truncated
|
||||
"06032b8105108648095404010c":"id-ibia-Identix","06032b8105108648095404010d":"id-ibia-DERMALOG","06032b8105108648095404010e":"id-ibia-LOGICO","06032b8105108648095404010f":"id-ibia-NIST","06032b81051086480954040110":"id-ibia-A3Vision","06032b81051086480954040111":"id-ibia-NEC","06032b81051086480954040112":"id-ibia-STMicroelectronics","06032b81051086480954040102":"id-ibia-Bioscrypt","06032b81051086480954040103":"id-ibia-Visionics","06032b81051086480954040104":"id-ibia-InfineonTechnologiesAG","06032b81051086480954040105":"id-ibia-IridianTechnologies","06032b81051086480954040106":"id-ibia-Veridicom","06032b81051086480954040107":"id-ibia-CyberSIGN","06032b81051086480954040108":"id-ibia-eCryp.","06032b81051086480954040109":"id-ibia-FingerprintCardsAB","06032b810510864809540402":"x9-Owner","06032b0e021a05":"sha","06032b0e03020101":"rsa","06032b0e03020a":"desMAC","06032b0e03020b":"rsaSignature","06032b0e03020c":"dsa","06032b0e03020d":"dsaWithSHA","06032b0e03020e":"mdc2WithRSASignature","06032b0e03020f":"shaWithRSASignature","06032b0e030210":"dhWithCommonModulus","06032b0e030211":"desEDE","06032b0e030212":"sha","06032b0e030213":"mdc-2","06032b0e030202":"md4WitRSA","06032b0e03020201":"sqmod-N","06032b0e030214":"dsaCommon","06032b0e030215":"dsaCommonWithSHA","06032b0e030216":"rsaKeyTransport","06032b0e030217":"keyed-hash-seal","06032b0e030218":"md2WithRSASignature","06032b0e030219":"md5WithRSASignature","06032b0e03021a":"sha1","06032b0e03021b":"dsaWithSHA1","06032b0e03021c":"dsaWithCommonSHA1","06032b0e03021d":"sha-1WithRSAEncryption","06032b0e030203":"md5WithRSA","06032b0e03020301":"sqmod-NwithRSA","06032b0e030204":"md4WithRSAEncryption","06032b0e030206":"desECB","06032b0e030207":"desCBC","06032b0e030208":"desOFB","06032b0e030209":"desCFB","06032b0e030301":"simple-strong-auth-mechanism","06032b0e07020101":"ElGamal","06032b0e07020301":"md2WithRSA","06032b0e07020302":"md2WithElGamal","06032b2403":"algorithm","06032b240301":"encryptionAlgorithm","06032b24030101":"des","06032b240301010101":"desECBPad","06032b24030101010101":"desECBPadISO","06032b240301010201":"desCBCPad","06032b24030101020101":"desCBCPadISO","06032b24030102":"idea","06032b2403010201":"ideaECB","06032b240301020101":"ideaECBPad","06032b24030102010101":"ideaECBPadISO","06032b2403010202":"ideaCBC","06032b240301020201":"ideaCBCPad","06032b24030102020101":"ideaCBCPadISO","06032b2403010203":"ideaOFB","06032b2403010204":"ideaCFB","06032b24030103":"des-3","06032b240301030101":"des-3ECBPad","06032b24030103010101":"des-3ECBPadISO","06032b240301030201":"des-3CBCPad","06032b24030103020101":"des-3CBCPadISO","06032b240302":"hashAlgorithm","06032b24030201":"ripemd160","06032b24030202":"ripemd128","06032b24030203":"ripemd256","06032b24030204":"mdc2singleLength","06032b24030205":"mdc2doubleLength","06032b240303":"signatureAlgorithm","06032b24030301":"rsa","06032b2403030101":"rsaMitSHA-1","06032b2403030102":"rsaMitRIPEMD160","06032b24030302":"ellipticCurve","06032b240304":"signatureScheme","06032b24030401":"iso9796-1","06032b2403040201":"iso9796-2","06032b2403040202":"iso9796-2rsa","06032b2404":"attribute","06032b2405":"policy","06032b2406":"api","06032b240601":"manufacturerSpecific","06032b240602":"functionalitySpecific","06032b2407":"api","06032b240701":"keyAgreement","06032b240702":"keyTransport","06032b06010401927c0a0101":"UNINETT policyIdentifier","06032b0601040195180a":"ICE-TEL policyIdentifier","06032b0601040197552001":"cryptlibEnvelope","06032b0601040197552002":"cryptlibPrivateKey","060a2b060104018237":"Microsoft OID","060a2b0601040182370a":"Crypto 2.0","060a2b0601040182370a01":"certTrustList","060a2b0601040182370a0101":"szOID_SORTED_CTL","060a2b0601040182370a0a":"Microsoft CMC OIDs","060a2b0601040182370a0a01":"szOID_CMC_ADD_ATTRIBUTES","060a2b0601040182370a0b":"Microsoft certificate property OIDs","060a2b0601040182370a0b01":"szOID_CERT_PROP_ID_PREFIX","060a2b0601040182370a0c":"CryptUI","060a2b0601040182370a0c01":"szOID_ANY_APPLICATION_POLICY","060a2b0601040182370a02":"nextUpdateLocation","060a2b0601040182370a0301":"certTrustListSigning","060a2b0601040182370a030a":"szOID_KP_QUALIFIED_SUBORDINATION","060a2b0601040182370a030b":"szOID_KP_KEY_RECOVERY","060a2b0601040182370a030c":"szOID_KP_DOCUMENT_SIGNING","060a2b0601040182370a0302":"timeStampSigning","060a2b0601040182370a0303":"serverGatedCrypto","060a2b0601040182370a030301":"szOID_SERIALIZED","060a2b0601040182370a0304":"encryptedFileSystem","060a2b0601040182370a030401":"szOID_EFS_RECOVERY","060a2b0601040182370a0305":"szOID_WHQL_CRYPTO","060a2b0601040182370a0306":"szOID_NT5_CRYPTO","060a2b0601040182370a0307":"szOID_OEM_WHQL_CRYPTO","060a2b0601040182370a0308":"szOID_EMBEDDED_NT_CRYPTO","060a2b0601040182370a0309":"szOID_ROOT_LIST_SIGNER","060a2b0601040182370a0401":"yesnoTrustAttr","060a2b0601040182370a0501":"szOID_DRM","060a2b0601040182370a0502":"szOID_DRM_INDIVIDUALIZATION","060a2b0601040182370a0601":"szOID_LICENSES","060a2b0601040182370a0602":"szOID_LICENSE_SERVER","060a2b0601040182370a07":"szOID_MICROSOFT_RDN_PREFIX"Line truncated
|
||||
};var Dish=function(a,b){this.value=a||"string"==typeof a?a:null,this.type=b||Dish.BYTE_ARRAY};Dish.BYTE_ARRAY=0,Dish.STRING=1,Dish.NUMBER=2,Dish.HTML=3,Dish.typeEnum=function(a){switch(a){case"byteArray":case"Byte array":return Dish.BYTE_ARRAY;case"string":case"String":return Dish.STRING;case"number":case"Number":return Dish.NUMBER;case"html":case"HTML":return Dish.HTML;default:throw"Invalid data type string. No matching enum."}},Dish.enumLookup=function(a){switch(a){case Dish.BYTE_ARRAY:return"byteArray";case Dish.STRING:return"string";case Dish.NUMBER:return"number";case Dish.HTML:return"html";default:throw"Invalid data type enum. No matching type."}},Dish.prototype.set=function(a,b){if(this.value=a,this.type=b,!this.valid()){var c=Utils.truncate(JSON.stringify(this.value),13);throw"Data is not a valid "+Dish.enumLookup(b)+": "+c}},Dish.prototype.get=function(a){return this.type!==a&&this.translate(a),this.value},Dish.prototype.translate=function(a){switch(this.type){case Dish.STRING:this.value=this.value?Utils.strToByteArray(this.value):[],this.type=Dish.BYTE_ARRAY;break;case Dish.NUMBER:this.value="number"==typeof this.value?Utils.strToByteArray(this.value.toString()):[],this.type=Dish.BYTE_ARRAY;break;case Dish.HTML:this.value=this.value?Utils.strToByteArray(Utils.stripHtmlTags(this.value,!0)):[],this.type=Dish.BYTE_ARRAY}switch(a){case Dish.STRING:case Dish.HTML:this.value=this.value?Utils.byteArrayToUtf8(this.value):"",this.type=Dish.STRING;break;case Dish.NUMBER:this.value=this.value?parseFloat(Utils.byteArrayToUtf8(this.value)):0,this.type=Dish.NUMBER}},Dish.prototype.valid=function(){switch(this.type){case Dish.BYTE_ARRAY:if(!(this.value instanceof Array))return!1;for(var a=0;a<this.value.length;a++)if("number"!=typeof this.value[a]||this.value[a]<0||this.value[a]>255)return!1;return!0;case Dish.STRING:case Dish.HTML:return"string"==typeof this.value;case Dish.NUMBER:return"number"==typeof this.value;default:return!1}};var FlowControl={FORK_DELIM:"\\n",MERGE_DELIM:"\\n",FORK_IGNORE_ERRORS:!1,runFork:function(a){var b=a.opList,c=b[a.progress].inputType,d=b[a.progress].outputType,e=a.dish.get(c),f=b[a.progress].getIngValues(),g=f[0],h=f[1],i=f[2],j=[],k=[];e&&(k=e.split(g));for(var l=a.progress+1;l<b.length&&("Merge"!==b[l].name||b[l].isDisabled());l++)j.push(b[l]);var m=new Recipe,n="",o=0;for(m.addOperations(j),l=0;l<k.length;l++){var p=new Dish(k[l],c);try{o=m.execute(p,0)}catch(a){if(!i)throw a;o=a.progress+1}n+=p.get(d)+h}return a.dish.set(n,d),a.progress+=o,a},runMerge:function(a){return a},JUMP_NUM:0,MAX_JUMPS:10,runJump:function(a){var b=a.opList[a.progress].getIngValues(),c=b[0],d=b[1];return a.numJumps>=d?(a.progress++,a):(a.progress+=c,a.numJumps++,a)},runCondJump:function(a){var b=a.opList[a.progress].getIngValues(),c=a.dish,d=b[0],e=b[1],f=b[2];return a.numJumps>=f?(a.progress++,a):(""!==d&&c.get(Dish.STRING).search(d)>-1&&(a.progress+=e,a.numJumps++),a)},runReturn:function(a){return a.progress=a.opList.length,a}},Ingredient=function(a){this.name="",this.type="",this.value=null,a&&this._parseConfig(a)};Ingredient.prototype._parseConfig=function(a){this.name=a.name,this.type=a.type},Ingredient.prototype.getConfig=function(){return this.value},Ingredient.prototype.setValue=function(a){this.value=Ingredient.prepare(a,this.type)},Ingredient.prepare=function(a,b){switch(b){case"binaryString":case"binaryShortString":case"editableOption":return Utils.parseEscapedChars(a);case"byteArray":return"string"==typeof a?(a=a.replace(/\s+/g,""),Utils.hexToByteArray(a)):a;case"number":var c=parseFloat(a);if(isNaN(c)){var d=Utils.truncate(a.toString(),10);throw"Invalid ingredient value. Not a number: "+d}return c;default:return a}};var Operation=function(a,b){this.name=a,this.description="",this.inputType=-1,this.outputType=-1,this.run=null,this.highlight=null,this.highlightReverse=null,this.breakpoint=!1,this.disabled=!1,this.ingList=[],b&&this._parseConfig(b)};Operation.prototype._parseConfig=function(a){this.description=a.description,this.inputType=Dish.typeEnum(a.inputType),this.outputType=Dish.typeEnum(a.outputType),this.run=a.run,this.highlight=a.highlight,this.highlightReverse=a.highlightReverse,this.flowControl=a.flowControl;for(var b=0;b<a.args.length;b++){var c=a.args[b],d=new Ingredient(c);this.addIngredient(d)}},Operation.prototype.getConfig=function(){for(var a=[],b=0;b<this.ingList.length;b++)a.push(this.ingList[b].getConfig());var c={op:this.name,args:a};return c},Operation.prototype.addIngredient=function(a){this.ingList.push(a)},Operation.prototype.setIngValues=function(a){for(var b=0;b<a.length;b++)this.ingList[b].setValue(a[b])},Operation.prototype.getIngValues=function(){for(var a=[],b=0;b<this.ingList.length;b++)a.push(this.ingList[b].value);return a},Operation.prototype.setBreakpoint=function(a){this.breakpoint=!!a},Operation.prototype.isBreakpoint=function(){return this.breakpoint},Operation.prototype.setDisabled=function(a){this.disabled=!!a},Operation.prototype.isDisabled=functiLine truncated
|
||||
},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"DES Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>DES is a previously dominant algorithm for encryption, and was published as an official U.S. Federal Information Processing Standard (FIPS). It is now considered to be insecure due to its small key size.",run:Cipher.runDesEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"Triple DES Decrypt":{description:"To successfully decrypt Triple DES, you need either:<ul><li>The passphrase</li><li>Or the key and IV</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runTripleDesDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"Triple DES Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>Triple DES applies DES three times to each block to increase key size.",run:Cipher.runTripleDesEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"Blowfish Decrypt":{description:"Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention.",run:Cipher.runBlowfishDec,inputType:"string",outputType:"string",args:[{name:"Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Mode",type:"option",value:Cipher.BLOWFISH_MODES},{name:"Input format",type:"option",value:Cipher.IO_FORMAT3}]},"Blowfish Encrypt":{description:"Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention.",run:Cipher.runBlowfishEnc,inputType:"string",outputType:"string",args:[{name:"Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Mode",type:"option",value:Cipher.BLOWFISH_MODES},{name:"Output format",type:"option",value:Cipher.IO_FORMAT3}]},"Rabbit Decrypt":{description:"To successfully decrypt Rabbit, you need either:<ul><li>The passphrase</li><li>Or the key and IV (This is currently broken. You need the key and salt at the moment.)</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runRabbitDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"Rabbit Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>Rabbit is a high-performance stream cipher and a finalist in the eSTREAM Portfolio. It is one of the four designs selected after a 3 1/2 year process where 22 designs were evaluated.",run:Cipher.runRabbitEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",valLine truncated
|
||||
outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"JSON Beautify":{description:"Indents and prettifies JavaScript Object Notation (JSON) code.",run:Code.runJsonBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"CSS Beautify":{description:"Indents and prettifies Cascading Style Sheets (CSS) code.",run:Code.runCssBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"SQL Beautify":{description:"Indents and prettifies Structured Query Language (SQL) code.",run:Code.runSqlBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"XML Minify":{description:"Compresses eXtensible Markup Language (XML) code.",run:Code.runXmlMinify,inputType:"string",outputType:"string",args:[{name:"Preserve comments",type:"boolean",value:Code.PRESERVE_COMMENTS}]},"JSON Minify":{description:"Compresses JavaScript Object Notation (JSON) code.",run:Code.runJsonMinify,inputType:"string",outputType:"string",args:[]},"CSS Minify":{description:"Compresses Cascading Style Sheets (CSS) code.",run:Code.runCssMinify,inputType:"string",outputType:"string",args:[{name:"Preserve comments",type:"boolean",value:Code.PRESERVE_COMMENTS}]},"SQL Minify":{description:"Compresses Structured Query Language (SQL) code.",run:Code.runSqlMinify,inputType:"string",outputType:"string",args:[]},"Analyse hash":{description:"Tries to determine information about a given hash and suggests which algorithm may have been used to generate it based on its length.",run:Hash.runAnalyse,inputType:"string",outputType:"string",args:[]},MD2:{description:"The MD2 (Message-Digest 2) algorithm is a cryptographic hash function developed by Ronald Rivest in 1989. The algorithm is optimized for 8-bit computers.<br><br>Although MD2 is no longer considered secure, even as of 2014, it remains in use in public key infrastructures as part of certificates generated with MD2 and RSA.",run:Hash.runMD2,inputType:"string",outputType:"string",args:[]},MD4:{description:"The MD4 (Message-Digest 4) algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms.<br><br>The security of MD4 has been severely compromised.",run:Hash.runMD4,inputType:"string",outputType:"string",args:[]},MD5:{description:"MD5 (Message-Digest 5) is a widely used hash function. It has been used in a variety of security applications and is also commonly used to check the integrity of files.<br><br>However, MD5 is not collision resistant and it isn't suitable for applications like SSL/TLS certificates or digital signatures that rely on this property.",run:Hash.runMD5,inputType:"string",outputType:"string",args:[]},SHA0:{description:"SHA-0 is a retronym applied to the original version of the 160-bit hash function published in 1993 under the name 'SHA'. It was withdrawn shortly after publication due to an undisclosed 'significant flaw' and replaced by the slightly revised version SHA-1.",run:Hash.runSHA0,inputType:"string",outputType:"string",args:[]},SHA1:{description:"The SHA (Secure Hash Algorithm) hash functions were designed by the NSA. SHA-1 is the most established of the existing SHA hash functions and it is used in a variety of security applications and protocols.<br><br>However, SHA-1's collision resistance has been weakening as new attacks are discovered or improved.",run:Hash.runSHA1,inputType:"string",outputType:"string",args:[]},SHA224:{description:"SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.",run:Hash.runSHA224,inputType:"string",outputType:"string",args:[]},SHA256:{description:"SHA-256 is one of the four variants in the SHA-2 set. It isn't as widely used as SHA-1, though it provides much better security.",run:Hash.runSHA256,inputType:"string",outputType:"string",args:[]},SHA384:{description:"SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.",run:Hash.runSHA384,inputType:"string",outputType:"string",args:[]},SHA512:{description:"SHA-512 is largely identical to SHA-256 but operates on 64-bit words rather than 32.",run:Hash.runSHA512,inputType:"string",outputType:"string",args:[]},SHA3:{description:"This is an implementation of Keccak[c=2d]. SHA3 functions based on different implementations of Keccak will give different results.",run:Hash.runSHA3,inputType:"string",outputType:"string",args:[{name:"Output length",type:"option",value:Hash.SHA3_LENGTH}]},"RIPEMD-160":{description:"RIPEMD (RACE Integrity Primitives Evaluation Message Digest) is a family of cryptographic hash functions developed in Leuven, Belgium, by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at the Katholieke Universiteit Leuven, and first published in Line truncated
|
||||
}.bind(this)}),this.ioSplitter=Split(["#input","#output"],{direction:"vertical",gutterSize:4}),this.resetLayout()},HTMLApp.prototype.loadLocalStorage=function(){var a;void 0!==localStorage.options&&(a=JSON.parse(localStorage.options)),this.manager.options.load(a),this.loadFavourites()},HTMLApp.prototype.loadFavourites=function(){var a=localStorage.favourites&&localStorage.favourites.length>2?JSON.parse(localStorage.favourites):this.dfavourites;a=this.validFavourites(a),this.saveFavourites(a);var b=this.categories.filter(function(a){return"Favourites"===a.name})[0];b?b.ops=a:this.categories.unshift({name:"Favourites",ops:a})},HTMLApp.prototype.validFavourites=function(a){for(var b=[],c=0;c<a.length;c++)this.operations.hasOwnProperty(a[c])?b.push(a[c]):this.alert('The operation "'+Utils.escapeHtml(a[c])+'" is no longer available. It has been removed from your favourites.',"info");return b},HTMLApp.prototype.saveFavourites=function(a){localStorage.setItem("favourites",JSON.stringify(this.validFavourites(a)))},HTMLApp.prototype.resetFavourites=function(){this.saveFavourites(this.dfavourites),this.loadFavourites(),this.populateOperationsList(),this.manager.recipe.initialiseOperationDragNDrop()},HTMLApp.prototype.addFavourite=function(a){var b=JSON.parse(localStorage.favourites);return b.indexOf(a)>=0?void this.alert("'"+a+"' is already in your favourites","info",2e3):(b.push(a),this.saveFavourites(b),this.loadFavourites(),this.populateOperationsList(),void this.manager.recipe.initialiseOperationDragNDrop())},HTMLApp.prototype.loadURIParams=function(){this.queryString=function(a){if(""===a)return{};for(var b={},c=0;c<a.length;c++){var d=a[c].split("=");2!==d.length?b[a[c]]=!0:b[d[0]]=decodeURIComponent(d[1].replace(/\+/g," "))}return b}(window.location.search.substr(1).split("&"));var a=this.autoBake_;if(this.autoBake_=!1,this.queryString.recipe)try{var b=JSON.parse(this.queryString.recipe);this.setRecipeConfig(b)}catch(a){}else if(this.queryString.op){this.manager.recipe.clearRecipe();try{this.manager.recipe.addOperation(this.queryString.op)}catch(a){var c=this.manager.ops.filterOperations(this.queryString.op,!1);c.length&&this.manager.recipe.addOperation(c[0].name);var d=document.getElementById("search");d.value=this.queryString.op,d.dispatchEvent(new Event("search"))}}if(this.queryString.input)try{var e=Utils.fromBase64(this.queryString.input);this.setInput(e)}catch(a){}this.autoBake_=a,this.autoBake()},HTMLApp.prototype.nextIngId=function(){return this.ingId++},HTMLApp.prototype.getRecipeConfig=function(){var a=this.manager.recipe.getConfig();return sessionStorage.setItem("recipeConfig",JSON.stringify(a)),a},HTMLApp.prototype.setRecipeConfig=function(a){sessionStorage.setItem("recipeConfig",JSON.stringify(a)),document.getElementById("rec-list").innerHTML=null;for(var b=0;b<a.length;b++){for(var c=this.manager.recipe.addOperation(a[b].op),d=c.querySelectorAll(".arg"),e=0;e<d.length;e++)"checkbox"===d[e].getAttribute("type")?d[e].checked=a[b].args[e]:d[e].classList.contains("toggle-string")?(d[e].value=a[b].args[e].string,d[e].previousSibling.children[0].innerHTML=Utils.escapeHtml(a[b].args[e].option)+" <span class='caret'></span>"):d[e].value=a[b].args[e];a[b].disabled&&c.querySelector(".disable-icon").click(),a[b].breakpoint&&c.querySelector(".breakpoint").click(),this.progress=0}},HTMLApp.prototype.resetLayout=function(){this.columnSplitter.setSizes([20,30,50]),this.ioSplitter.setSizes([50,50]),this.manager.controls.adjustWidth(),this.manager.output.adjustWidth()},HTMLApp.prototype.setCompileMessage=function(){var a=new Date,b=Utils.fuzzyTime(a.getTime()-window.compileTime),c='<span style="font-weight: normal">Last build: '+b.substr(0,1).toUpperCase()+b.substr(1)+" ago";""!==window.compileMessage&&(c+=" - "+window.compileMessage),c+="</span>",document.getElementById("notice").innerHTML=c},HTMLApp.prototype.alert=function(a,b,c,d){var e=new Date;if(console.log("["+e.toLocaleString()+"] "+a),!d){b=b||"danger",c=c||0;var f=document.getElementById("alert"),g=document.getElementById("alert-content");f.classList.remove("alert-danger"),f.classList.remove("alert-warning"),f.classList.remove("alert-info"),f.classList.remove("alert-success"),f.classList.add("alert-"+b),"block"===f.style.display?g.innerHTML+="<br><br>["+e.toLocaleTimeString()+"] "+a:g.innerHTML="["+e.toLocaleTimeString()+"] "+a,$("#alert").stop(),f.style.display="block",f.style.opacity=1,c>0&&(clearTimeout(this.alertTimeout),this.alertTimeout=setTimeout(function(){$("#alert").slideUp(100)},c))}},HTMLApp.prototype.confirm=function(a,b,c,d){d=d||this,document.getElementById("confirm-title").innerHTML=a,document.getElementById("confirm-body").innerHTML=b,document.getElementById("confirm-modal").style.display="block",this.confirmClosed=!1,$("#confirm-modal").modal().one("show.bs.modal",function(a){this.confirmClosed=!1}.bind(this)).one("click","#confirm-yes",function(){this.confirmClosed=!0,c.bind(d)(!0),$("#confirm-modal").modal("hide")}.bind(this)).one(Line truncated
|
||||
},OutputWaiter.prototype.set=function(dataStr,type,duration){var outputText=document.getElementById("output-text"),outputHtml=document.getElementById("output-html"),outputHighlighter=document.getElementById("output-highlighter"),inputHighlighter=document.getElementById("input-highlighter");if("html"===type){outputText.style.display="none",outputHtml.style.display="block",outputHighlighter.display="none",inputHighlighter.display="none",outputText.value="",outputHtml.innerHTML=dataStr;for(var scriptElements=outputHtml.querySelectorAll("script"),i=0;i<scriptElements.length;i++)try{eval(scriptElements[i].innerHTML)}catch(a){console.error(a)}}else outputText.style.display="block",outputHtml.style.display="none",outputHighlighter.display="block",inputHighlighter.display="block",outputText.value=Utils.printable(dataStr,!0),outputHtml.innerHTML="";this.manager.highlighter.removeHighlights();var lines=dataStr.count("\n")+1;this.setOutputInfo(dataStr.length,lines,duration)},OutputWaiter.prototype.setOutputInfo=function(a,b,c){var d=a.toString().length;d=d<4?4:d;var e=Utils.pad(a.toString(),d," ").replace(/ /g," "),f=Utils.pad(b.toString(),d," ").replace(/ /g," "),g=Utils.pad(c.toString()+"ms",d," ").replace(/ /g," ");document.getElementById("output-info").innerHTML="time: "+g+"<br>length: "+e+"<br>lines: "+f,document.getElementById("input-selection-info").innerHTML="",document.getElementById("output-selection-info").innerHTML=""},OutputWaiter.prototype.adjustWidth=function(){var a=document.getElementById("output"),b=document.getElementById("save-to-file"),c=document.getElementById("switch"),d=document.getElementById("undo-switch"),e=document.getElementById("maximise-output");a.clientWidth<680?(b.childNodes[1].nodeValue="",c.childNodes[1].nodeValue="",d.childNodes[1].nodeValue="",e.childNodes[1].nodeValue=""):(b.childNodes[1].nodeValue=" Save to file",c.childNodes[1].nodeValue=" Move output to input",d.childNodes[1].nodeValue=" Undo",e.childNodes[1].nodeValue="Maximise"===e.getAttribute("title")?" Max":" Restore")},OutputWaiter.prototype.saveClick=function(){var a=Utils.toBase64(this.app.dishStr),b=window.prompt("Please enter a filename:","download.dat");if(b){var c=document.createElement("a");c.setAttribute("href","data:application/octet-stream;base64;charset=utf-8,"+a),c.setAttribute("download",b),c.style.display="none",document.body.appendChild(c),c.click(),c.remove()}},OutputWaiter.prototype.switchClick=function(){this.switchOrigData=this.manager.input.get(),document.getElementById("undo-switch").disabled=!1,this.app.setInput(this.app.dishStr)},OutputWaiter.prototype.undoSwitchClick=function(){this.app.setInput(this.switchOrigData),document.getElementById("undo-switch").disabled=!0},OutputWaiter.prototype.maximiseOutputClick=function(a){var b="maximise-output"===a.target.id?a.target:a.target.parentNode;"Maximise"===b.getAttribute("title")?(this.app.columnSplitter.collapse(0),this.app.columnSplitter.collapse(1),this.app.ioSplitter.collapse(0),b.setAttribute("title","Restore"),b.innerHTML="<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlUlEQVQ4y93RwQpBQRQG4C9ba1fxBteGPIj38BTejFJKLFnwCJIiCsW1mcV0k9yx82/OzGK+OXMGOpiiLTFjFNiilQI0sQ7IJiAjLKsgGVYB2YdaVO0kwy46/BVQi9ZDNPyQWen2ub/KufS8y7shfkq9tF9U7SC+/YluKvAI9YZeFeCECXJcA3JHP2WgMXJM/ZUcBwxeM+YuSWTgMtUAAAAASUVORK5CYII='> Restore",this.adjustWidth()):(b.setAttribute("title","Maximise"),b.innerHTML="<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAi0lEQVQ4y83TMQrCQBCF4S+5g4rJEdJ7KE+RQ1lrIQQCllroEULuoM0Ww3a7aXwwLAzMPzDvLcz4hnooUItT1rsoVNy+4lgLWNL7RlcCmDBij2eCfNCrUITc0dRCrhj8m5otw0O6SV8LuAV3uhrAAa8sJ2Np7KPFawhgscVLjH9bCDhjt8WNKft88w/HjCvuVqu53QAAAABJRU5ErkJggg=='> Max",this.app.resetLayout())};var RecipeWaiter=function(a,b){this.app=a,this.manager=b,this.removeIntent=!1};RecipeWaiter.prototype.initialiseOperationDragNDrop=function(){var a=document.getElementById("rec-list");Sortable.create(a,{group:"recipe",sort:!0,animation:0,delay:0,filter:".arg-input,.arg",setData:function(a,b){a.setData("Text",b.querySelector(".arg-title").textContent)},onEnd:function(a){this.removeIntent&&(a.item.remove(),a.target.dispatchEvent(this.manager.operationremove))}.bind(this)}),Sortable.utils.on(a,"dragover",function(){this.removeIntent=!1}.bind(this)),Sortable.utils.on(a,"dragleave",function(){this.removeIntent=!0,this.app.progress=0}.bind(this)),Sortable.utils.on(a,"touchend",function(b){var c=b.changedTouches[0],d=document.elementFromPoint(c.clientX,c.clientY);this.removeIntent=!a.contains(d)}.bind(this)),document.querySelector("#categories a").addEventListener("dragover",this.favDragover.bind(this)),document.querySelector("#categories a").addEventListener("dragleave",this.favDragleave.bind(this)),document.querySelector("#categories a").addEventListener("drop",this.favDrop.bind(this))},RecipeWaiter.prototype.creaLine truncated
|
||||
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIpv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");return d},IP_FORMAT_LIST:["Dotted Decimal","Decimal","Hex"],runChangeIpFormat:function(a,b){for(var c=b[0],d=b[1],e=a.split("\n"),f="",g=0,h=0;h<e.length;h++)if(""!==e[h]){var i=[];if(c!==d){switch(c){casLine truncated
|
||||
"06032b810510864809540113":"id-gait","06032b810510864809540102":"id-dna","06032b810510864809540103":"id-ear-Shape","06032b810510864809540104":"id-facial-Features","06032b810510864809540105":"id-finger-Image","06032b810510864809540106":"id-finger-Geometry","06032b810510864809540107":"id-hand-Geometry","06032b810510864809540108":"id-iris-Features","06032b810510864809540109":"id-keystroke-Dynamics","06032b8105108648095402":"processing-algorithm","06032b8105108648095403":"matching-method","06032b8105108648095404":"format-Owner","06032b810510864809540400":"cbeff-Owner","06032b810510864809540401":"ibia-Owner","06032b81051086480954040101":"id-ibia-SAFLINK","06032b8105108648095404010a":"id-ibia-SecuGen","06032b8105108648095404010b":"id-ibia-PreciseBiometric","06032b8105108648095404010c":"id-ibia-Identix","06032b8105108648095404010d":"id-ibia-DERMALOG","06032b8105108648095404010e":"id-ibia-LOGICO","06032b8105108648095404010f":"id-ibia-NIST","06032b81051086480954040110":"id-ibia-A3Vision","06032b81051086480954040111":"id-ibia-NEC","06032b81051086480954040112":"id-ibia-STMicroelectronics","06032b81051086480954040102":"id-ibia-Bioscrypt","06032b81051086480954040103":"id-ibia-Visionics","06032b81051086480954040104":"id-ibia-InfineonTechnologiesAG","06032b81051086480954040105":"id-ibia-IridianTechnologies","06032b81051086480954040106":"id-ibia-Veridicom","06032b81051086480954040107":"id-ibia-CyberSIGN","06032b81051086480954040108":"id-ibia-eCryp.","06032b81051086480954040109":"id-ibia-FingerprintCardsAB","06032b810510864809540402":"x9-Owner","06032b0e021a05":"sha","06032b0e03020101":"rsa","06032b0e03020a":"desMAC","06032b0e03020b":"rsaSignature","06032b0e03020c":"dsa","06032b0e03020d":"dsaWithSHA","06032b0e03020e":"mdc2WithRSASignature","06032b0e03020f":"shaWithRSASignature","06032b0e030210":"dhWithCommonModulus","06032b0e030211":"desEDE","06032b0e030212":"sha","06032b0e030213":"mdc-2","06032b0e030202":"md4WitRSA","06032b0e03020201":"sqmod-N","06032b0e030214":"dsaCommon","06032b0e030215":"dsaCommonWithSHA","06032b0e030216":"rsaKeyTransport","06032b0e030217":"keyed-hash-seal","06032b0e030218":"md2WithRSASignature","06032b0e030219":"md5WithRSASignature","06032b0e03021a":"sha1","06032b0e03021b":"dsaWithSHA1","06032b0e03021c":"dsaWithCommonSHA1","06032b0e03021d":"sha-1WithRSAEncryption","06032b0e030203":"md5WithRSA","06032b0e03020301":"sqmod-NwithRSA","06032b0e030204":"md4WithRSAEncryption","06032b0e030206":"desECB","06032b0e030207":"desCBC","06032b0e030208":"desOFB","06032b0e030209":"desCFB","06032b0e030301":"simple-strong-auth-mechanism","06032b0e07020101":"ElGamal","06032b0e07020301":"md2WithRSA","06032b0e07020302":"md2WithElGamal","06032b2403":"algorithm","06032b240301":"encryptionAlgorithm","06032b24030101":"des","06032b240301010101":"desECBPad","06032b24030101010101":"desECBPadISO","06032b240301010201":"desCBCPad","06032b24030101020101":"desCBCPadISO","06032b24030102":"idea","06032b2403010201":"ideaECB","06032b240301020101":"ideaECBPad","06032b24030102010101":"ideaECBPadISO","06032b2403010202":"ideaCBC","06032b240301020201":"ideaCBCPad","06032b24030102020101":"ideaCBCPadISO","06032b2403010203":"ideaOFB","06032b2403010204":"ideaCFB","06032b24030103":"des-3","06032b240301030101":"des-3ECBPad","06032b24030103010101":"des-3ECBPadISO","06032b240301030201":"des-3CBCPad","06032b24030103020101":"des-3CBCPadISO","06032b240302":"hashAlgorithm","06032b24030201":"ripemd160","06032b24030202":"ripemd128","06032b24030203":"ripemd256","06032b24030204":"mdc2singleLength","06032b24030205":"mdc2doubleLength","06032b240303":"signatureAlgorithm","06032b24030301":"rsa","06032b2403030101":"rsaMitSHA-1","06032b2403030102":"rsaMitRIPEMD160","06032b24030302":"ellipticCurve","06032b240304":"signatureScheme","06032b24030401":"iso9796-1","06032b2403040201":"iso9796-2","06032b2403040202":"iso9796-2rsa","06032b2404":"attribute","06032b2405":"policy","06032b2406":"api","06032b240601":"manufacturerSpecific","06032b240602":"functionalitySpecific","06032b2407":"api","06032b240701":"keyAgreement","06032b240702":"keyTransport","06032b06010401927c0a0101":"UNINETT policyIdentifier","06032b0601040195180a":"ICE-TEL policyIdentifier","06032b0601040197552001":"cryptlibEnvelope","06032b0601040197552002":"cryptlibPrivateKey","060a2b060104018237":"Microsoft OID","060a2b0601040182370a":"Crypto 2.0","060a2b0601040182370a01":"certTrustList","060a2b0601040182370a0101":"szOID_SORTED_CTL","060a2b0601040182370a0a":"Microsoft CMC OIDs","060a2b0601040182370a0a01":"szOID_CMC_ADD_ATTRIBUTES","060a2b0601040182370a0b":"Microsoft certificate property OIDs","060a2b0601040182370a0b01":"szOID_CERT_PROP_ID_PREFIX","060a2b0601040182370a0c":"CryptUI","060a2b0601040182370a0c01":"szOID_ANY_APPLICATION_POLICY","060a2b0601040182370a02":"nextUpdateLocation","060a2b0601040182370a0301":"certTrustListSigning","060a2b0601040182370a030a":"szOID_KP_QUALIFIED_SUBORDINATION","060a2b0601040182370a030b":"szOID_KP_KEY_RECOVERY","060a2b0601040182370a030c":"szOID_KP_DOCUMENT_SIGNING","060a2b060104018Line truncated
|
||||
};Chef.prototype.bake=function(a,b,c,d,e){var f=(new Date).getTime(),g=new Recipe(b),h=g.containsFlowControl(),i=!1;c.hasOwnProperty("attemptHighlight")&&(c.attemptHighlight=!0),h&&(c.attemptHighlight=!1),d>=b.length&&(d=0),e&&(g.setBreakpoint(d,!1),g.setBreakpoint(d+1,!0)),d>0&&h&&(g.removeBreaksUpTo(d),d=0),0===d&&this.dish.set(a,Dish.STRING);try{d=g.execute(this.dish,d)}catch(a){i=a,d=a.progress}return{result:this.dish.type===Dish.HTML?this.dish.get(Dish.HTML):this.dish.get(Dish.STRING),type:Dish.enumLookup(this.dish.type),progress:d,options:c,duration:(new Date).getTime()-f,error:i}},Chef.prototype.silentBake=function(a){var b=(new Date).getTime(),c=new Recipe(a),d=new Dish("",Dish.STRING);try{c.execute(d)}catch(a){}return(new Date).getTime()-b};var Dish=function(a,b){this.value=a||"string"==typeof a?a:null,this.type=b||Dish.BYTE_ARRAY};Dish.BYTE_ARRAY=0,Dish.STRING=1,Dish.NUMBER=2,Dish.HTML=3,Dish.typeEnum=function(a){switch(a){case"byteArray":case"Byte array":return Dish.BYTE_ARRAY;case"string":case"String":return Dish.STRING;case"number":case"Number":return Dish.NUMBER;case"html":case"HTML":return Dish.HTML;default:throw"Invalid data type string. No matching enum."}},Dish.enumLookup=function(a){switch(a){case Dish.BYTE_ARRAY:return"byteArray";case Dish.STRING:return"string";case Dish.NUMBER:return"number";case Dish.HTML:return"html";default:throw"Invalid data type enum. No matching type."}},Dish.prototype.set=function(a,b){if(this.value=a,this.type=b,!this.valid()){var c=Utils.truncate(JSON.stringify(this.value),13);throw"Data is not a valid "+Dish.enumLookup(b)+": "+c}},Dish.prototype.get=function(a){return this.type!==a&&this.translate(a),this.value},Dish.prototype.translate=function(a){switch(this.type){case Dish.STRING:this.value=this.value?Utils.strToByteArray(this.value):[],this.type=Dish.BYTE_ARRAY;break;case Dish.NUMBER:this.value="number"==typeof this.value?Utils.strToByteArray(this.value.toString()):[],this.type=Dish.BYTE_ARRAY;break;case Dish.HTML:this.value=this.value?Utils.strToByteArray(Utils.stripHtmlTags(this.value,!0)):[],this.type=Dish.BYTE_ARRAY}switch(a){case Dish.STRING:case Dish.HTML:this.value=this.value?Utils.byteArrayToUtf8(this.value):"",this.type=Dish.STRING;break;case Dish.NUMBER:this.value=this.value?parseFloat(Utils.byteArrayToUtf8(this.value)):0,this.type=Dish.NUMBER}},Dish.prototype.valid=function(){switch(this.type){case Dish.BYTE_ARRAY:if(!(this.value instanceof Array))return!1;for(var a=0;a<this.value.length;a++)if("number"!=typeof this.value[a]||this.value[a]<0||this.value[a]>255)return!1;return!0;case Dish.STRING:case Dish.HTML:return"string"==typeof this.value;case Dish.NUMBER:return"number"==typeof this.value;default:return!1}};var FlowControl={FORK_DELIM:"\\n",MERGE_DELIM:"\\n",FORK_IGNORE_ERRORS:!1,runFork:function(a){var b=a.opList,c=b[a.progress].inputType,d=b[a.progress].outputType,e=a.dish.get(c),f=b[a.progress].getIngValues(),g=f[0],h=f[1],i=f[2],j=[],k=[];e&&(k=e.split(g));for(var l=a.progress+1;l<b.length&&("Merge"!==b[l].name||b[l].isDisabled());l++)j.push(b[l]);var m=new Recipe,n="",o=0;for(m.addOperations(j),l=0;l<k.length;l++){var p=new Dish(k[l],c);try{o=m.execute(p,0)}catch(a){if(!i)throw a;o=a.progress+1}n+=p.get(d)+h}return a.dish.set(n,d),a.progress+=o,a},runMerge:function(a){return a},JUMP_NUM:0,MAX_JUMPS:10,runJump:function(a){var b=a.opList[a.progress].getIngValues(),c=b[0],d=b[1];return a.numJumps>=d?(a.progress++,a):(a.progress+=c,a.numJumps++,a)},runCondJump:function(a){var b=a.opList[a.progress].getIngValues(),c=a.dish,d=b[0],e=b[1],f=b[2];return a.numJumps>=f?(a.progress++,a):(""!==d&&c.get(Dish.STRING).search(d)>-1&&(a.progress+=e,a.numJumps++),a)},runReturn:function(a){return a.progress=a.opList.length,a}},Ingredient=function(a){this.name="",this.type="",this.value=null,a&&this._parseConfig(a)};Ingredient.prototype._parseConfig=function(a){this.name=a.name,this.type=a.type},Ingredient.prototype.getConfig=function(){return this.value},Ingredient.prototype.setValue=function(a){this.value=Ingredient.prepare(a,this.type)},Ingredient.prepare=function(a,b){switch(b){case"binaryString":case"binaryShortString":case"editableOption":return Utils.parseEscapedChars(a);case"byteArray":return"string"==typeof a?(a=a.replace(/\s+/g,""),Utils.hexToByteArray(a)):a;case"number":var c=parseFloat(a);if(isNaN(c)){var d=Utils.truncate(a.toString(),10);throw"Invalid ingredient value. Not a number: "+d}return c;default:return a}};var Operation=function(a,b){this.name=a,this.description="",this.inputType=-1,this.outputType=-1,this.run=null,this.highlight=null,this.highlightReverse=null,this.breakpoint=!1,this.disabled=!1,this.ingList=[],b&&this._parseConfig(b)};Operation.prototype._parseConfig=function(a){this.description=a.description,this.inputType=Dish.typeEnum(a.inputType),this.outputType=Dish.typeEnum(a.outputType),this.run=a.run,this.highlight=a.highlight,this.highlightReverse=a.highlightReverse,this.flowControl=a.flowControl;for(var b=0;b<a.args.lengthLine truncated
|
||||
type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"DES Decrypt":{description:"To successfully decrypt DES, you need either:<ul><li>The passphrase</li><li>Or the key and IV</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runDesDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"DES Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>DES is a previously dominant algorithm for encryption, and was published as an official U.S. Federal Information Processing Standard (FIPS). It is now considered to be insecure due to its small key size.",run:Cipher.runDesEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"Triple DES Decrypt":{description:"To successfully decrypt Triple DES, you need either:<ul><li>The passphrase</li><li>Or the key and IV</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runTripleDesDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"Triple DES Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>Triple DES applies DES three times to each block to increase key size.",run:Cipher.runTripleDesEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"Blowfish Decrypt":{description:"Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention.",run:Cipher.runBlowfishDec,inputType:"string",outputType:"string",args:[{name:"Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Mode",type:"option",value:Cipher.BLOWFISH_MODES},{name:"Input format",type:"option",value:Cipher.IO_FORMAT3}]},"Blowfish Encrypt":{description:"Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention.",run:Cipher.runBlowfishEnc,inputType:"string",outputType:"string",args:[{name:"Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Mode",type:"option",value:Cipher.BLOWFISH_MODES},{name:"Output format",type:"option",value:Cipher.IO_FORMAT3}]},"Rabbit Decrypt":{description:"To successfully decrypt Rabbit, you need either:<ul><li>The passphrase</li><li>Or the key and IV (This is currently broken. You need the key and salt at the moment.)</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runRabbitDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValueLine truncated
|
||||
value:JS.PARSE_TOLERANT}]},"JavaScript Beautify":{description:"Parses and pretty prints valid JavaScript code. Also works with JavaScript Object Notation (JSON).",run:JS.runBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:JS.BEAUTIFY_INDENT},{name:"Quotes",type:"option",value:JS.BEAUTIFY_QUOTES},{name:"Semicolons before closing braces",type:"boolean",value:JS.BEAUTIFY_SEMICOLONS},{name:"Include comments",type:"boolean",value:JS.BEAUTIFY_COMMENT}]},"JavaScript Minify":{description:"Compresses JavaScript code.",run:JS.runMinify,inputType:"string",outputType:"string",args:[]},"XML Beautify":{description:"Indents and prettifies eXtensible Markup Language (XML) code.",run:Code.runXmlBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"JSON Beautify":{description:"Indents and prettifies JavaScript Object Notation (JSON) code.",run:Code.runJsonBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"CSS Beautify":{description:"Indents and prettifies Cascading Style Sheets (CSS) code.",run:Code.runCssBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"SQL Beautify":{description:"Indents and prettifies Structured Query Language (SQL) code.",run:Code.runSqlBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"XML Minify":{description:"Compresses eXtensible Markup Language (XML) code.",run:Code.runXmlMinify,inputType:"string",outputType:"string",args:[{name:"Preserve comments",type:"boolean",value:Code.PRESERVE_COMMENTS}]},"JSON Minify":{description:"Compresses JavaScript Object Notation (JSON) code.",run:Code.runJsonMinify,inputType:"string",outputType:"string",args:[]},"CSS Minify":{description:"Compresses Cascading Style Sheets (CSS) code.",run:Code.runCssMinify,inputType:"string",outputType:"string",args:[{name:"Preserve comments",type:"boolean",value:Code.PRESERVE_COMMENTS}]},"SQL Minify":{description:"Compresses Structured Query Language (SQL) code.",run:Code.runSqlMinify,inputType:"string",outputType:"string",args:[]},"Analyse hash":{description:"Tries to determine information about a given hash and suggests which algorithm may have been used to generate it based on its length.",run:Hash.runAnalyse,inputType:"string",outputType:"string",args:[]},MD2:{description:"The MD2 (Message-Digest 2) algorithm is a cryptographic hash function developed by Ronald Rivest in 1989. The algorithm is optimized for 8-bit computers.<br><br>Although MD2 is no longer considered secure, even as of 2014, it remains in use in public key infrastructures as part of certificates generated with MD2 and RSA.",run:Hash.runMD2,inputType:"string",outputType:"string",args:[]},MD4:{description:"The MD4 (Message-Digest 4) algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms.<br><br>The security of MD4 has been severely compromised.",run:Hash.runMD4,inputType:"string",outputType:"string",args:[]},MD5:{description:"MD5 (Message-Digest 5) is a widely used hash function. It has been used in a variety of security applications and is also commonly used to check the integrity of files.<br><br>However, MD5 is not collision resistant and it isn't suitable for applications like SSL/TLS certificates or digital signatures that rely on this property.",run:Hash.runMD5,inputType:"string",outputType:"string",args:[]},SHA0:{description:"SHA-0 is a retronym applied to the original version of the 160-bit hash function published in 1993 under the name 'SHA'. It was withdrawn shortly after publication due to an undisclosed 'significant flaw' and replaced by the slightly revised version SHA-1.",run:Hash.runSHA0,inputType:"string",outputType:"string",args:[]},SHA1:{description:"The SHA (Secure Hash Algorithm) hash functions were designed by the NSA. SHA-1 is the most established of the existing SHA hash functions and it is used in a variety of security applications and protocols.<br><br>However, SHA-1's collision resistance has been weakening as new attacks are discovered or improved.",run:Hash.runSHA1,inputType:"string",outputType:"string",args:[]},SHA224:{description:"SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.",run:Hash.runSHA224,inputType:"string",outputType:"string",args:[]},SHA256:{description:"SHA-256 is one of the four variants in the SHA-2 set. It isn't as widely used as SHA-1, though it provides much better security.",run:Hash.runSHA256,inputType:"string",outputType:"string",args:[]},SHA384:{description:"SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.",run:Hash.runSHA384,inputType:"string",outputType:"Line truncated
|
||||
for(var a="",b=0;b<this.categories.length;b++){for(var c=this.categories[b],d=0===b,e=new HTMLCategory(c.name,d),f=0;f<c.ops.length;f++){var g=c.ops[f],h=new HTMLOperation(g,this.operations[g],this,this.manager);e.addOperation(h)}a+=e.toHtml()}document.getElementById("categories").innerHTML=a;var i=document.querySelectorAll("#categories .op-list");for(b=0;b<i.length;b++)i[b].dispatchEvent(this.manager.oplistcreate);document.querySelector("#categories a").appendChild(document.getElementById("edit-favourites"))},HTMLApp.prototype.initialiseSplitter=function(){this.columnSplitter=Split(["#operations","#recipe","#IO"],{sizes:[20,30,50],minSize:[240,325,440],gutterSize:4,onDrag:function(){this.manager.controls.adjustWidth(),this.manager.output.adjustWidth()}.bind(this)}),this.ioSplitter=Split(["#input","#output"],{direction:"vertical",gutterSize:4}),this.resetLayout()},HTMLApp.prototype.loadLocalStorage=function(){var a;void 0!==localStorage.options&&(a=JSON.parse(localStorage.options)),this.manager.options.load(a),this.loadFavourites()},HTMLApp.prototype.loadFavourites=function(){var a=localStorage.favourites&&localStorage.favourites.length>2?JSON.parse(localStorage.favourites):this.dfavourites;a=this.validFavourites(a),this.saveFavourites(a);var b=this.categories.filter(function(a){return"Favourites"===a.name})[0];b?b.ops=a:this.categories.unshift({name:"Favourites",ops:a})},HTMLApp.prototype.validFavourites=function(a){for(var b=[],c=0;c<a.length;c++)this.operations.hasOwnProperty(a[c])?b.push(a[c]):this.alert('The operation "'+Utils.escapeHtml(a[c])+'" is no longer available. It has been removed from your favourites.',"info");return b},HTMLApp.prototype.saveFavourites=function(a){localStorage.setItem("favourites",JSON.stringify(this.validFavourites(a)))},HTMLApp.prototype.resetFavourites=function(){this.saveFavourites(this.dfavourites),this.loadFavourites(),this.populateOperationsList(),this.manager.recipe.initialiseOperationDragNDrop()},HTMLApp.prototype.addFavourite=function(a){var b=JSON.parse(localStorage.favourites);return b.indexOf(a)>=0?void this.alert("'"+a+"' is already in your favourites","info",2e3):(b.push(a),this.saveFavourites(b),this.loadFavourites(),this.populateOperationsList(),void this.manager.recipe.initialiseOperationDragNDrop())},HTMLApp.prototype.loadURIParams=function(){this.queryString=function(a){if(""===a)return{};for(var b={},c=0;c<a.length;c++){var d=a[c].split("=");2!==d.length?b[a[c]]=!0:b[d[0]]=decodeURIComponent(d[1].replace(/\+/g," "))}return b}(window.location.search.substr(1).split("&"));var a=this.autoBake_;if(this.autoBake_=!1,this.queryString.recipe)try{var b=JSON.parse(this.queryString.recipe);this.setRecipeConfig(b)}catch(a){}else if(this.queryString.op){this.manager.recipe.clearRecipe();try{this.manager.recipe.addOperation(this.queryString.op)}catch(a){var c=this.manager.ops.filterOperations(this.queryString.op,!1);c.length&&this.manager.recipe.addOperation(c[0].name);var d=document.getElementById("search");d.value=this.queryString.op,d.dispatchEvent(new Event("search"))}}if(this.queryString.input)try{var e=Utils.fromBase64(this.queryString.input);this.setInput(e)}catch(a){}this.autoBake_=a,this.autoBake()},HTMLApp.prototype.nextIngId=function(){return this.ingId++},HTMLApp.prototype.getRecipeConfig=function(){var a=this.manager.recipe.getConfig();return sessionStorage.setItem("recipeConfig",JSON.stringify(a)),a},HTMLApp.prototype.setRecipeConfig=function(a){sessionStorage.setItem("recipeConfig",JSON.stringify(a)),document.getElementById("rec-list").innerHTML=null;for(var b=0;b<a.length;b++){for(var c=this.manager.recipe.addOperation(a[b].op),d=c.querySelectorAll(".arg"),e=0;e<d.length;e++)"checkbox"===d[e].getAttribute("type")?d[e].checked=a[b].args[e]:d[e].classList.contains("toggle-string")?(d[e].value=a[b].args[e].string,d[e].previousSibling.children[0].innerHTML=Utils.escapeHtml(a[b].args[e].option)+" <span class='caret'></span>"):d[e].value=a[b].args[e];a[b].disabled&&c.querySelector(".disable-icon").click(),a[b].breakpoint&&c.querySelector(".breakpoint").click(),this.progress=0}},HTMLApp.prototype.resetLayout=function(){this.columnSplitter.setSizes([20,30,50]),this.ioSplitter.setSizes([50,50]),this.manager.controls.adjustWidth(),this.manager.output.adjustWidth()},HTMLApp.prototype.setCompileMessage=function(){var a=new Date,b=Utils.fuzzyTime(a.getTime()-window.compileTime),c='<span style="font-weight: normal">Last build: '+b.substr(0,1).toUpperCase()+b.substr(1)+" ago";""!==window.compileMessage&&(c+=" - "+window.compileMessage),c+="</span>",document.getElementById("notice").innerHTML=c},HTMLApp.prototype.alert=function(a,b,c,d){var e=new Date;if(console.log("["+e.toLocaleString()+"] "+a),!d){b=b||"danger",c=c||0;var f=document.getElementById("alert"),g=document.getElementById("alert-content");f.classList.remove("alert-danger"),f.classList.remove("alert-warning"),f.classList.remove("alert-info"),f.classList.remove("alert-success"),f.classList.add("alert-"+b),Line truncated
|
||||
document.getElementById("output-html").classList.remove("word-wrap"),document.getElementById("input-highlighter").classList.remove("word-wrap"),document.getElementById("output-highlighter").classList.remove("word-wrap"),this.app.options.wordWrap||(document.getElementById("input-text").classList.add("word-wrap"),document.getElementById("output-text").classList.add("word-wrap"),document.getElementById("output-html").classList.add("word-wrap"),document.getElementById("input-highlighter").classList.add("word-wrap"),document.getElementById("output-highlighter").classList.add("word-wrap"))};var OutputWaiter=function(a,b){this.app=a,this.manager=b};OutputWaiter.prototype.get=function(){return document.getElementById("output-text").value},OutputWaiter.prototype.set=function(dataStr,type,duration){var outputText=document.getElementById("output-text"),outputHtml=document.getElementById("output-html"),outputHighlighter=document.getElementById("output-highlighter"),inputHighlighter=document.getElementById("input-highlighter");if("html"===type){outputText.style.display="none",outputHtml.style.display="block",outputHighlighter.display="none",inputHighlighter.display="none",outputText.value="",outputHtml.innerHTML=dataStr;for(var scriptElements=outputHtml.querySelectorAll("script"),i=0;i<scriptElements.length;i++)try{eval(scriptElements[i].innerHTML)}catch(a){console.error(a)}}else outputText.style.display="block",outputHtml.style.display="none",outputHighlighter.display="block",inputHighlighter.display="block",outputText.value=Utils.printable(dataStr,!0),outputHtml.innerHTML="";this.manager.highlighter.removeHighlights();var lines=dataStr.count("\n")+1;this.setOutputInfo(dataStr.length,lines,duration)},OutputWaiter.prototype.setOutputInfo=function(a,b,c){var d=a.toString().length;d=d<4?4:d;var e=Utils.pad(a.toString(),d," ").replace(/ /g," "),f=Utils.pad(b.toString(),d," ").replace(/ /g," "),g=Utils.pad(c.toString()+"ms",d," ").replace(/ /g," ");document.getElementById("output-info").innerHTML="time: "+g+"<br>length: "+e+"<br>lines: "+f,document.getElementById("input-selection-info").innerHTML="",document.getElementById("output-selection-info").innerHTML=""},OutputWaiter.prototype.adjustWidth=function(){var a=document.getElementById("output"),b=document.getElementById("save-to-file"),c=document.getElementById("switch"),d=document.getElementById("undo-switch"),e=document.getElementById("maximise-output");a.clientWidth<680?(b.childNodes[1].nodeValue="",c.childNodes[1].nodeValue="",d.childNodes[1].nodeValue="",e.childNodes[1].nodeValue=""):(b.childNodes[1].nodeValue=" Save to file",c.childNodes[1].nodeValue=" Move output to input",d.childNodes[1].nodeValue=" Undo",e.childNodes[1].nodeValue="Maximise"===e.getAttribute("title")?" Max":" Restore")},OutputWaiter.prototype.saveClick=function(){var a=Utils.toBase64(this.app.dishStr),b=window.prompt("Please enter a filename:","download.dat");if(b){var c=document.createElement("a");c.setAttribute("href","data:application/octet-stream;base64;charset=utf-8,"+a),c.setAttribute("download",b),c.style.display="none",document.body.appendChild(c),c.click(),c.remove()}},OutputWaiter.prototype.switchClick=function(){this.switchOrigData=this.manager.input.get(),document.getElementById("undo-switch").disabled=!1,this.app.setInput(this.app.dishStr)},OutputWaiter.prototype.undoSwitchClick=function(){this.app.setInput(this.switchOrigData),document.getElementById("undo-switch").disabled=!0},OutputWaiter.prototype.maximiseOutputClick=function(a){var b="maximise-output"===a.target.id?a.target:a.target.parentNode;"Maximise"===b.getAttribute("title")?(this.app.columnSplitter.collapse(0),this.app.columnSplitter.collapse(1),this.app.ioSplitter.collapse(0),b.setAttribute("title","Restore"),b.innerHTML="<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlUlEQVQ4y93RwQpBQRQG4C9ba1fxBteGPIj38BTejFJKLFnwCJIiCsW1mcV0k9yx82/OzGK+OXMGOpiiLTFjFNiilQI0sQ7IJiAjLKsgGVYB2YdaVO0kwy46/BVQi9ZDNPyQWen2ub/KufS8y7shfkq9tF9U7SC+/YluKvAI9YZeFeCECXJcA3JHP2WgMXJM/ZUcBwxeM+YuSWTgMtUAAAAASUVORK5CYII='> Restore",this.adjustWidth()):(b.setAttribute("title","Maximise"),b.innerHTML="<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAi0lEQVQ4y83TMQrCQBCF4S+5g4rJEdJ7KE+RQ1lrIQQCllroEULuoM0Ww3a7aXwwLAzMPzDvLcz4hnooUItT1rsoVNy+4lgLWNL7RlcCmDBij2eCfNCrUITc0dRCrhj8m5otw0O6SV8LuAV3uhrAAa8sJ2Np7KPFawhgscVLjH9bCDhjt8WNKft88w/HjCvuVqu53QAAAABJRU5ErkJggg=='> Max",this.app.resetLayout())};var RecipeWaiter=function(a,b){this.app=a,this.manager=b,this.removeIntent=!1};RecipeWaiter.prototype.initialiseOperationDragNDrop=function(){var a=document.getElementById("rec-list");Sortable.create(a,{group:"recipe",sort:!0,animation:0,delay:0,filter:".arg-input,.arg",setData:function(a,b){a.setData("Text",b.querySelector(".arg-title").textContent)},onEnd:function(a){this.removeInteLine truncated
|
||||
@@ -18,4 +18,4 @@
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>CyberChef</title><meta name="copyright" content="Crown Copyright 2016"><meta name="description" content="The Cyber Swiss Army Knife"><meta name="keywords" content="base64, hex, decode, encode, encrypt, decrypt, compress, decompress, regex, regular expressions, hash, crypt, hexadecimal, user agent, url, certificate, x.509, parser, JSON, gzip, md5, sha1, aes, des, blowfish, xor"><link rel="icon" type="image/png" href="data:image/x-icon;base64,AAABAAEAEA8AAAEAIAAkBAAAFgAAACgAAAAQAAAAHgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwP5CQkE+Ojo5OiIiIS4aGhkt8fHxLe3t7S4GBgU6Hh4dWZWVlMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWlrvS0tL/0dHR/9HR0f/Pz8/+qamp/6ysrP+srKz/rKys/3h4eJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKioqix8fH/8bGxv/Gxsb/xcXF/pqamv+cnJz/nJyc/5ycnP9paWl/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwyOjo6P/m5ub/5ubm/+Xl5f7Ly8v/zc3N/83Nzf/Ozs7/lZWVowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxscfn5+f/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/zc3N/5KSkqIAAAAAYWFhDwAAAAAEBAQA////AAAAAACqqqrI5+fn/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/83Nzf+wsLDcnp6eo6urq8pjY2MbAAAAAAAAAACVlZWm4uLi/+bm5v/m5ub/5ubm/+Tk5P7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP+8vLz7bGxsLQAAAACioqJ+6Ojo/+bm5v7l5eX/5ubm/+bm5v/l5eX+ysrK/8zMzP/MzMz/zMzM/8zMzP/MzMz/t7e33Y2NjVxFRUULx8fHwubm5v/m5ub/5ubm/+bm5v/m5ub+5eXl/8rKyv7MzMz/zMzM/8zMzP/MzMz/zMzM/svLy//Hx8f/WlpaDcnJycnm5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP/Dw8P3oKCgxQAAAAG1tbWZ5+fn/+Xl5f7m5ub/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/y8vL/szMzP/Nzc3/tbW15UNDQxgAAAAAAAAAD76+vuLo6Oj/5ubm/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/8zMzP/BwcH9tra2+L29vflpaWkuR0dHAAAAAAAAAAAAiYmJZKurq4uXl5d909PT7eXl5f/MzMz/x8fH/6qqqty9vb3/g4ODlQAAABFra2tAAAAAAAAAAAAbGxsAAAAAAAAAAAAAAAAAAAAAAG9vbyOTk5N5j4+PnHl5eVZCQkIVkpKSJmNjYxEAAAAAAAAAAAAAAAD//wAA//8AAOAHAADgDwAA4AcAAOAHAADgAQAAwAEAAMABAACAAAAAgAAAAIABAADAAQAA9AcAAP9/AAA="><link href="styles.css" rel="stylesheet"></head><body><span id="edit-favourites" class="btn btn-default btn-sm"><img src="images/favourite-16x16.png"> Edit</span><div id="alert" class="alert alert-danger"><button type="button" class="close" id="alert-close">×</button> <span id="alert-content"></span></div><div id="content-wrapper"><div id="banner" class="green"><a href="cyberchef.htm" style="float:left;margin-left:10px;margin-right:80px" download>Download CyberChef<img src="images/download-24x24.png"></a><span id="notice"><script type="text/javascript">navigator.userAgent&&navigator.userAgent.match(/MSIE \d\d?\./)&&(document.write("Internet Explorer is not supported, please use Firefox or Chrome instead"),alert("Internet Explorer is not supported, please use Firefox or Chrome instead"))</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="images/help-22x22.png"></a><a href="#" id="options" class="banner-right">Options<img src="images/settings-22x22.png"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="images/cook_male-32x32.png"> Bake!</button><label class="btn btn-success btn-lg" id="auto-bake-label"><input type="checkbox" checked="checked" id="auto-bake"><div>Auto Bake</div></label></div><div class="btn-group" style="padding-top:10px"><button type="button" class="btn btn-default" id="step"><img src="images/step-16x16.png"> Step through</button> <button type="button" class="btn btn-default" id="clr-breaks"><img src="images/erase-16x16.png"> Clear breakpoints</button></div></div><div class="btn-group-vertical" id="extra-controls"><button type="button" class="btn btn-default" id="save"><img src="images/save-16x16.png"> Save recipe</button> <button type="button" class="btn btn-default" id="load"><img src="images/open_yellow-16x16.png"> Load recipe</button> <button type="button" class="btn btn-default" id="clr-recipe"><img src="images/clean-16x16.png"> Clear recipe</button></div></div></div><div class="split split-horizontal" id="IO"><div id="input" class="split no-select"><div class="title no-select">Input<div class="btn-group io-btn-group"><button type="button" class="btn btn-default btn-sm" id="clr-io"><img src="images/recycle-16x16.png"> Clear I/O</button> <button type="button" class="btn btn-default btn-sm" id="reset-layout"><img src="images/layout-16x16.png"> Reset layLine truncated
|
||||
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>CyberChef</title><meta name="copyright" content="Crown Copyright 2016"><meta name="description" content="The Cyber Swiss Army Knife"><meta name="keywords" content="base64, hex, decode, encode, encrypt, decrypt, compress, decompress, regex, regular expressions, hash, crypt, hexadecimal, user agent, url, certificate, x.509, parser, JSON, gzip, md5, sha1, aes, des, blowfish, xor"><link rel="icon" type="image/png" href="data:image/x-icon;base64,AAABAAEAEA8AAAEAIAAkBAAAFgAAACgAAAAQAAAAHgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExMAAAAAAAAAAAAAAAAAAAAAAAAAAAAcHBwP5CQkE+Ojo5OiIiIS4aGhkt8fHxLe3t7S4GBgU6Hh4dWZWVlMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJaWlrvS0tL/0dHR/9HR0f/Pz8/+qamp/6ysrP+srKz/rKys/3h4eJIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACKioqix8fH/8bGxv/Gxsb/xcXF/pqamv+cnJz/nJyc/5ycnP9paWl/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwyOjo6P/m5ub/5ubm/+Xl5f7Ly8v/zc3N/83Nzf/Ozs7/lZWVowAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxscfn5+f/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/zc3N/5KSkqIAAAAAYWFhDwAAAAAEBAQA////AAAAAACqqqrI5+fn/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/83Nzf+wsLDcnp6eo6urq8pjY2MbAAAAAAAAAACVlZWm4uLi/+bm5v/m5ub/5ubm/+Tk5P7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP+8vLz7bGxsLQAAAACioqJ+6Ojo/+bm5v7l5eX/5ubm/+bm5v/l5eX+ysrK/8zMzP/MzMz/zMzM/8zMzP/MzMz/t7e33Y2NjVxFRUULx8fHwubm5v/m5ub/5ubm/+bm5v/m5ub+5eXl/8rKyv7MzMz/zMzM/8zMzP/MzMz/zMzM/svLy//Hx8f/WlpaDcnJycnm5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f7Kysr/zMzM/8zMzP/MzMz/zMzM/8zMzP/Dw8P3oKCgxQAAAAG1tbWZ5+fn/+Xl5f7m5ub/5ubm/+bm5v/k5OT+ysrK/8zMzP/MzMz/y8vL/szMzP/Nzc3/tbW15UNDQxgAAAAAAAAAD76+vuLo6Oj/5ubm/+bm5v/m5ub/5OTk/srKyv/MzMz/zMzM/8zMzP/BwcH9tra2+L29vflpaWkuR0dHAAAAAAAAAAAAiYmJZKurq4uXl5d909PT7eXl5f/MzMz/x8fH/6qqqty9vb3/g4ODlQAAABFra2tAAAAAAAAAAAAbGxsAAAAAAAAAAAAAAAAAAAAAAG9vbyOTk5N5j4+PnHl5eVZCQkIVkpKSJmNjYxEAAAAAAAAAAAAAAAD//wAA//8AAOAHAADgDwAA4AcAAOAHAADgAQAAwAEAAMABAACAAAAAgAAAAIABAADAAQAA9AcAAP9/AAA="><link href="styles.css" rel="stylesheet"></head><body><span id="edit-favourites" class="btn btn-default btn-sm"><img src="images/favourite-16x16.png"> Edit</span><div id="alert" class="alert alert-danger"><button type="button" class="close" id="alert-close">×</button> <span id="alert-content"></span></div><div id="content-wrapper"><div id="banner" class="green"><a href="cyberchef.htm" style="float:left;margin-left:10px;margin-right:80px" download>Download CyberChef<img src="images/download-24x24.png"></a><span id="notice"><script type="text/javascript">navigator.userAgent&&navigator.userAgent.match(/MSIE \d\d?\./)&&(document.write("Internet Explorer is not supported, please use Firefox or Chrome instead"),alert("Internet Explorer is not supported, please use Firefox or Chrome instead"))</script><noscript>JavaScript is not enabled. Good luck.</noscript></span><a href="#" id="support" class="banner-right" data-toggle="modal" data-target="#support-modal">About / Support<img src="images/help-22x22.png"></a><a href="#" id="options" class="banner-right">Options<img src="images/settings-22x22.png"></a></div><div id="wrapper"><div id="operations" class="split split-horizontal no-select"><div class="title no-select">Operations</div><input type="search" class="form-control" id="search" placeholder="Search..." autocomplete="off"><ul class="op-list" id="search-results"></ul><div class="panel-group no-select" id="categories"></div></div><div id="recipe" class="split split-horizontal no-select"><div class="title no-select">Recipe</div><ul id="rec-list" class="no-select"></ul><div id="controls" class="no-select"><div id="operational-controls"><div id="bake-group"><button type="button" class="btn btn-success btn-lg" id="bake"><img src="images/cook_male-32x32.png"> Bake!</button><label class="btn btn-success btn-lg" id="auto-bake-label"><input type="checkbox" checked="checked" id="auto-bake"><div>Auto Bake</div></label></div><div class="btn-group" style="padding-top:10px"><button type="button" class="btn btn-default" id="step"><img src="images/step-16x16.png"> Step through</button> <button type="button" class="btn btn-default" id="clr-breaks"><img src="images/erase-16x16.png"> Clear breakpoints</button></div></div><div class="btn-group-vertical" id="extra-controls"><button type="button" class="btn btn-default" id="save"><img src="images/save-16x16.png"> Save recipe</button> <button type="button" class="btn btn-default" id="load"><img src="images/open_yellow-16x16.png"> Load recipe</button> <button type="button" class="btn btn-default" id="clr-recipe"><img src="images/clean-16x16.png"> Clear recipe</button></div></div></div><div class="split split-horizontal" id="IO"><div id="input" class="split no-select"><div class="title no-select">Input<div class="btn-group io-btn-group"><button type="button" class="btn btn-default btn-sm" id="clr-io"><img src="images/recycle-16x16.png"> Clear I/O</button> <button type="button" class="btn btn-default btn-sm" id="reset-layout"><img src="images/layout-16x16.png"> Reset layLine truncated
|
||||
@@ -282,10 +282,10 @@ Ob.cast=function(b){var c;try{c=Cb.cast(b)}catch(a){throw a}if(c.value>=1&&c.val
|
||||
return c=c||" ",a.length<b?Utils.padRight(a+c.slice(0,b-a.length),b,c):a},padBytesRight:function(a,b,c){c=c||0;var d=new Array(b);return d.fill(c),Array.prototype.map.call(a,function(a,b){d[b]=a}),d},pad:function(a,b,c){return Utils.padLeft(a,b,c)},truncate:function(a,b,c){return c=c||"...",a.length>b&&(a=a.slice(0,b-c.length)+c),a},hex:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||2,Utils.pad(a.toString(16),b)},bin:function(a,b){return a="string"==typeof a?Utils.ord(a):a,b=b||8,Utils.pad(a.toString(2),b)},printable:function(a,b){window&&window.app&&!window.app.options.treatAsUtf8&&(a=Utils.byteArrayToChars(Utils.strToByteArray(a)));var c=/[\0-\x08\x0B-\x0C\x0E-\x1F\x7F-\x9F\xAD\u0378\u0379\u037F-\u0383\u038B\u038D\u03A2\u0528-\u0530\u0557\u0558\u0560\u0588\u058B-\u058E\u0590\u05C8-\u05CF\u05EB-\u05EF\u05F5-\u0605\u061C\u061D\u06DD\u070E\u070F\u074B\u074C\u07B2-\u07BF\u07FB-\u07FF\u082E\u082F\u083F\u085C\u085D\u085F-\u089F\u08A1\u08AD-\u08E3\u08FF\u0978\u0980\u0984\u098D\u098E\u0991\u0992\u09A9\u09B1\u09B3-\u09B5\u09BA\u09BB\u09C5\u09C6\u09C9\u09CA\u09CF-\u09D6\u09D8-\u09DB\u09DE\u09E4\u09E5\u09FC-\u0A00\u0A04\u0A0B-\u0A0E\u0A11\u0A12\u0A29\u0A31\u0A34\u0A37\u0A3A\u0A3B\u0A3D\u0A43-\u0A46\u0A49\u0A4A\u0A4E-\u0A50\u0A52-\u0A58\u0A5D\u0A5F-\u0A65\u0A76-\u0A80\u0A84\u0A8E\u0A92\u0AA9\u0AB1\u0AB4\u0ABA\u0ABB\u0AC6\u0ACA\u0ACE\u0ACF\u0AD1-\u0ADF\u0AE4\u0AE5\u0AF2-\u0B00\u0B04\u0B0D\u0B0E\u0B11\u0B12\u0B29\u0B31\u0B34\u0B3A\u0B3B\u0B45\u0B46\u0B49\u0B4A\u0B4E-\u0B55\u0B58-\u0B5B\u0B5E\u0B64\u0B65\u0B78-\u0B81\u0B84\u0B8B-\u0B8D\u0B91\u0B96-\u0B98\u0B9B\u0B9D\u0BA0-\u0BA2\u0BA5-\u0BA7\u0BAB-\u0BAD\u0BBA-\u0BBD\u0BC3-\u0BC5\u0BC9\u0BCE\u0BCF\u0BD1-\u0BD6\u0BD8-\u0BE5\u0BFB-\u0C00\u0C04\u0C0D\u0C11\u0C29\u0C34\u0C3A-\u0C3C\u0C45\u0C49\u0C4E-\u0C54\u0C57\u0C5A-\u0C5F\u0C64\u0C65\u0C70-\u0C77\u0C80\u0C81\u0C84\u0C8D\u0C91\u0CA9\u0CB4\u0CBA\u0CBB\u0CC5\u0CC9\u0CCE-\u0CD4\u0CD7-\u0CDD\u0CDF\u0CE4\u0CE5\u0CF0\u0CF3-\u0D01\u0D04\u0D0D\u0D11\u0D3B\u0D3C\u0D45\u0D49\u0D4F-\u0D56\u0D58-\u0D5F\u0D64\u0D65\u0D76-\u0D78\u0D80\u0D81\u0D84\u0D97-\u0D99\u0DB2\u0DBC\u0DBE\u0DBF\u0DC7-\u0DC9\u0DCB-\u0DCE\u0DD5\u0DD7\u0DE0-\u0DF1\u0DF5-\u0E00\u0E3B-\u0E3E\u0E5C-\u0E80\u0E83\u0E85\u0E86\u0E89\u0E8B\u0E8C\u0E8E-\u0E93\u0E98\u0EA0\u0EA4\u0EA6\u0EA8\u0EA9\u0EAC\u0EBA\u0EBE\u0EBF\u0EC5\u0EC7\u0ECE\u0ECF\u0EDA\u0EDB\u0EE0-\u0EFF\u0F48\u0F6D-\u0F70\u0F98\u0FBD\u0FCD\u0FDB-\u0FFF\u10C6\u10C8-\u10CC\u10CE\u10CF\u1249\u124E\u124F\u1257\u1259\u125E\u125F\u1289\u128E\u128F\u12B1\u12B6\u12B7\u12BF\u12C1\u12C6\u12C7\u12D7\u1311\u1316\u1317\u135B\u135C\u137D-\u137F\u139A-\u139F\u13F5-\u13FF\u169D-\u169F\u16F1-\u16FF\u170D\u1715-\u171F\u1737-\u173F\u1754-\u175F\u176D\u1771\u1774-\u177F\u17DE\u17DF\u17EA-\u17EF\u17FA-\u17FF\u180F\u181A-\u181F\u1878-\u187F\u18AB-\u18AF\u18F6-\u18FF\u191D-\u191F\u192C-\u192F\u193C-\u193F\u1941-\u1943\u196E\u196F\u1975-\u197F\u19AC-\u19AF\u19CA-\u19CF\u19DB-\u19DD\u1A1C\u1A1D\u1A5F\u1A7D\u1A7E\u1A8A-\u1A8F\u1A9A-\u1A9F\u1AAE-\u1AFF\u1B4C-\u1B4F\u1B7D-\u1B7F\u1BF4-\u1BFB\u1C38-\u1C3A\u1C4A-\u1C4C\u1C80-\u1CBF\u1CC8-\u1CCF\u1CF7-\u1CFF\u1DE7-\u1DFB\u1F16\u1F17\u1F1E\u1F1F\u1F46\u1F47\u1F4E\u1F4F\u1F58\u1F5A\u1F5C\u1F5E\u1F7E\u1F7F\u1FB5\u1FC5\u1FD4\u1FD5\u1FDC\u1FF0\u1FF1\u1FF5\u1FFF\u200B-\u200F\u202A-\u202E\u2060-\u206F\u2072\u2073\u208F\u209D-\u209F\u20BB-\u20CF\u20F1-\u20FF\u218A-\u218F\u23F4-\u23FF\u2427-\u243F\u244B-\u245F\u2700\u2B4D-\u2B4F\u2B5A-\u2BFF\u2C2F\u2C5F\u2CF4-\u2CF8\u2D26\u2D28-\u2D2C\u2D2E\u2D2F\u2D68-\u2D6E\u2D71-\u2D7E\u2D97-\u2D9F\u2DA7\u2DAF\u2DB7\u2DBF\u2DC7\u2DCF\u2DD7\u2DDF\u2E3C-\u2E7F\u2E9A\u2EF4-\u2EFF\u2FD6-\u2FEF\u2FFC-\u2FFF\u3040\u3097\u3098\u3100-\u3104\u312E-\u3130\u318F\u31BB-\u31BF\u31E4-\u31EF\u321F\u32FF\u4DB6-\u4DBF\u9FCD-\u9FFF\uA48D-\uA48F\uA4C7-\uA4CF\uA62C-\uA63F\uA698-\uA69E\uA6F8-\uA6FF\uA78F\uA794-\uA79F\uA7AB-\uA7F7\uA82C-\uA82F\uA83A-\uA83F\uA878-\uA87F\uA8C5-\uA8CD\uA8DA-\uA8DF\uA8FC-\uA8FF\uA954-\uA95E\uA97D-\uA97F\uA9CE\uA9DA-\uA9DD\uA9E0-\uA9FF\uAA37-\uAA3F\uAA4E\uAA4F\uAA5A\uAA5B\uAA7C-\uAA7F\uAAC3-\uAADA\uAAF7-\uAB00\uAB07\uAB08\uAB0F\uAB10\uAB17-\uAB1F\uAB27\uAB2F-\uABBF\uABEE\uABEF\uABFA-\uABFF\uD7A4-\uD7AF\uD7C7-\uD7CA\uD7FC-\uF8FF\uFA6E\uFA6F\uFADA-\uFAFF\uFB07-\uFB12\uFB18-\uFB1C\uFB37\uFB3D\uFB3F\uFB42\uFB45\uFBC2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDEF\uFDFE\uFDFF\uFE1A-\uFE1F\uFE27-\uFE2F\uFE53\uFE67\uFE6C-\uFE6F\uFE75\uFEFD-\uFF00\uFFBF-\uFFC1\uFFC8\uFFC9\uFFD0\uFFD1\uFFD8\uFFD9\uFFDD-\uFFDF\uFFE7\uFFEF-\uFFFB\uFFFE\uFFFF]/g,d=/[\x09-\x10\x0D\u2028\u2029]/g;return a=a.replace(c,"."),b||(a=a.replace(d,".")),a},parseEscapedChars:function(a){return a.replace(/(\\)?\\([nrtbf]|x[\da-f]{2})/g,function(a,b,c){if("\\"===b)return"\\"+c;switch(c[0]){case"n":return"\n";case"r":return"\r";case"t":return"\t";case"b":return"\b";case"f":return"\f";case"x":return Utils.chr(parseInt(c.substr(1),16))}})},expandAlphRange:function(a){for(var b=[],c=0;c<a.length;c++)if(c<a.length-2&&"-"===a[c+1]&&"\\"!==a[c]){for(var d=Utils.ord(a[c]),e=Utils.ord(a[c+2]),f=Line truncated
|
||||
},runRabbitEnc:function(a,b){return Cipher._enc(CryptoJS.Rabbit,a,b)},runRabbitDec:function(a,b){return Cipher._dec(CryptoJS.Rabbit,a,b)},BLOWFISH_MODES:["ECB","CBC","PCBC","CFB","OFB","CTR"],BLOWFISH_OUTPUT_TYPES:["Base64","Hex","String","Raw"],runBlowfishEnc:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];if(0===c.length)return"Enter a key";var f=blowfish.encrypt(a,c,{outputType:1,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}),g=CryptoJS.enc.Hex.parse(f);return g.toString(Utils.format[e])},runBlowfishDec:function(a,b){var c=Utils.format[b[0].option].parse(b[0].string).toString(Utils.format.Latin1),d=b[1],e=b[2];return 0===c.length?"Enter a key":(a=Utils.format[e].parse(a),blowfish.decrypt(a.toString(CryptoJS.enc.Base64),c,{outputType:0,cipherMode:Cipher.BLOWFISH_MODES.indexOf(d)}))},KDF_KEY_SIZE:256,KDF_ITERATIONS:1,runPbkdf2:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.PBKDF2(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runEvpkdf:function(a,b){var c=b[0]/32,d=b[1],e=CryptoJS.enc.Hex.parse(b[2]||""),f=b[3],g=b[4],h=Utils.format[f].parse(a),i=CryptoJS.EvpKDF(h,e,{keySize:c,iterations:d});return i.toString(Utils.format[g])},runRc4:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=CryptoJS.RC4.encrypt(c,d);return e.ciphertext.toString(Utils.format[b[2]])},RC4DROP_BYTES:768,runRc4drop:function(a,b){var c=Utils.format[b[1]].parse(a),d=Utils.format[b[0].option].parse(b[0].string),e=b[3],f=CryptoJS.RC4Drop.encrypt(c,d,{drop:e});return f.ciphertext.toString(Utils.format[b[2]])},runVigenereEnc:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(c+d)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(c+d)%26].toUpperCase()):(h+=a[j],i++);return h},runVigenereDec:function(a,b){var c,d,e,f="abcdefghijklmnopqrstuvwxyz",g=b[0].toLowerCase(),h="",i=0;if(!g)return"No key entered";if(!/^[a-zA-Z]+$/.test(g))return"The key must consist only of letters";for(var j=0;j<a.length;j++)f.indexOf(a[j])>=0?(e=g[(j-i)%g.length],c=f.indexOf(e),d=f.indexOf(a[j]),h+=f[(d-c+f.length)%26]):f.indexOf(a[j].toLowerCase())>=0?(e=g[(j-i)%g.length].toLowerCase(),c=f.indexOf(e),d=f.indexOf(a[j].toLowerCase()),h+=f[(d+f.length-c)%26].toUpperCase()):(h+=a[j],i++);return h},AFFINE_A:1,AFFINE_B:0,runAffineEnc:function(a,b){var c="abcdefghijklmnopqrstuvwxyz",d=b[0],e=b[1],f="";if(!/^\+?(0|[1-9]\d*)$/.test(d)||!/^\+?(0|[1-9]\d*)$/.test(e))return"The values of a and b can only be integers.";for(var g=0;g<a.length;g++)f+=c.indexOf(a[g])>=0?c[(d*c.indexOf(a[g])+e)%26]:c.indexOf(a[g].toLowerCase())>=0?c[(d*c.indexOf(a[g].toLowerCase())+e)%26].toUpperCase():a[g];return f},runAffineDec:function(a,b){var c,d="abcdefghijklmnopqrstuvwxyz",e=b[0],f=b[1],g="";if(!/^\+?(0|[1-9]\d*)$/.test(e)||!/^\+?(0|[1-9]\d*)$/.test(f))return"The values of a and b can only be integers.";if(1!==Utils.gcd(e,26))return"The value of a must be coprime to 26.";c=Utils.modInv(e,26);for(var h=0;h<a.length;h++)g+=d.indexOf(a[h])>=0?d[Utils.mod((d.indexOf(a[h])-f)*c,26)]:d.indexOf(a[h].toLowerCase())>=0?d[Utils.mod((d.indexOf(a[h].toLowerCase())-f)*c,26)].toUpperCase():a[h];return g},runAtbash:function(a,b){return Cipher.runAffineEnc(a,[25,25])},SUBS_PLAINTEXT:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",SUBS_CIPHERTEXT:"XYZABCDEFGHIJKLMNOPQRSTUVW",runSubstitute:function(a,b){var c=Utils.strToByteArray(Utils.expandAlphRange(b[0]).join()),d=Utils.strToByteArray(Utils.expandAlphRange(b[1]).join()),e=[],f=-1;c.length!==d.length&&(e=Utils.strToByteArray("Warning: Plaintext and Ciphertext lengths differ\n\n"));for(var g=0;g<a.length;g++)f=c.indexOf(a[g]),e.push(f>-1&&f<d.length?d[f]:a[g]);return e}};CryptoJS.kdf.OpenSSL.execute=function(a,b,c,d){void 0!==d&&null!==d||(d=CryptoJS.lib.WordArray.random(8));var e=CryptoJS.algo.EvpKDF.create({keySize:b+c}).compute(a,d),f=CryptoJS.lib.WordArray.create(e.words.slice(b),4*c);return e.sigBytes=4*b,CryptoJS.lib.CipherParams.create({key:e,iv:f,salt:d})};var Code={LANGUAGES:["default-code","default-markup","bash","bsh","c","cc","coffee","cpp","cs","csh","cv","cxx","cyc","htm","html","in.tag","java","javascript","js","json","m","mxml","perl","pl","pm","py","python","rb","rc","rs","ruby","rust","sh","uq.val","xhtml","xml","xsl"],LINE_NUMS:!1,runSyntaxHighlight:function(a,b){var c=b[0],d=b[1];return"<code class='prettyprint'>"+prettyPrintOne(Utils.escapeHtml(a),c,d)+"</code>"},BEAUTIFY_INDENT:"\\t",runXmlBeautify:function(a,b){var c=b[0];return vkbeautify.xml(a,c)},runJsonBeautify:function(a,b){var c=b[0];return a?vkbeautify.json(a,c):""},runCssBeautify:function(Line truncated
|
||||
},Endian={DATA_FORMAT:["Hex","Raw"],WORD_LENGTH:4,PAD_INCOMPLETE_WORDS:!0,runSwapEndianness:function(a,b){var c=b[0],d=b[1],e=b[2],f=[],g=[],h=[],i=0,j=0;if(d<=0)return"Word length must be greater than 0";switch(c){case"Hex":f=Utils.fromHex(a);break;case"Raw":f=Utils.strToByteArray(a);break;default:f=a}for(i=0;i<f.length;i+=d){var k=f.slice(i,i+d);if(e&&k.length<d)for(j=k.length;j<d;j++)k.push(0);h.push(k)}for(i=0;i<h.length;i++)for(j=h[i].length;j--;)g.push(h[i][j]);switch(c){case"Hex":return Utils.toHex(g);case"Raw":return Utils.byteArrayToUtf8(g);default:return g}}},Entropy={CHUNK_SIZE:1e3,runEntropy:function(a,b){var c=b[0],d="",e=Entropy._calcEntropy(a);d+="Shannon entropy: "+e+"\n<br><canvas id='chart-area'></canvas><br>\n- 0 represents no randomness (i.e. all the bytes in the data have the same value) whereas 8, the maximum, represents a completely random string.\n- Standard English text usually falls somewhere between 3.5 and 5.\n- Properly encrypted or compressed data of a reasonable length should have an entropy of over 7.5.\n\nThe following results show the entropy of chunks of the input data. Chunks with particularly high entropy could suggest encrypted or compressed sections.\n\n<br><script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), entropy = "+e+", height = parentRect.height * 0.25; canvas.width = parentRect.width * 0.95; canvas.height = height > 150 ? 150 : height; CanvasComponents.drawScaleBar(canvas, entropy, 8, [ { label: 'English text', min: 3.5, max: 5 },{ label: 'Encrypted/compressed', min: 7.5, max: 8 } ]); <\/script>";var f=0;if(0!==c)for(var g=0;g<a.length;g+=c)f=Entropy._calcEntropy(a.slice(g,g+c)),d+="Bytes "+g+" to "+(g+c)+": "+f+"\n";else d+="Chunk size cannot be 0.";return d},FREQ_ZEROS:!1,runFreqDistrib:function(a,b){if(!a.length)return"No data";for(var c=new Array(256),d=new Array(256),e=a.length,f=b[0],g=0;g<256;g++)c[g]=0;for(g=0;g<e;g++)c[a[g]]++;var h=0;for(g=0;g<256;g++)c[g]>0&&h++,d[g]=c[g]/e*100;var i="<canvas id='chart-area'></canvas><br>Total data length: "+e+"\nNumber of bytes represented: "+h+"\nNumber of bytes not represented: "+(256-h)+"\n\nByte Percentage\n<script> var canvas = document.getElementById('chart-area'), parentRect = canvas.parentNode.getBoundingClientRect(), scores = "+JSON.stringify(d)+"; canvas.width = parentRect.width * 0.95; canvas.height = parentRect.height * 0.9; CanvasComponents.drawBarChart(canvas, scores, 'Byte', 'Frequency %', 16, 6); <\/script>";for(g=0;g<256;g++)(c[g]||f)&&(i+=" "+Utils.hex(g,2)+" ("+Utils.padRight(d[g].toFixed(2).replace(".00","")+"%)",8)+Array(Math.ceil(d[g])+1).join("|")+"\n");return i},_calcEntropy:function(a){for(var b=[],c=a.unique(),d=Utils.byteArrayToChars(a),e=0;e<c.length;e++)b.push(d.count(Utils.chr(c[e]))/a.length);var f,g=0;for(e=0;e<b.length;e++)f=b[e],g+=f*Math.log(f)/Math.log(2);return-g}},Extract={_search:function(a,b,c,d){for(var e,f="",g=0;e=b.exec(a);)c&&c.test(e[0])||(g++,f+=e[0]+"\n");return d&&(f="Total found: "+g+"\n\n"+f),f},MIN_STRING_LEN:3,DISPLAY_TOTAL:!1,runStrings:function(a,b){var c=b[0]||Extract.MIN_STRING_LEN,d=b[1],e="[A-Z\\d/\\-:.,_$%'\"()<>= !\\[\\]{}@]",f=new RegExp(e+"{"+c+",}","ig");return Extract._search(a,f,null,d)},INCLUDE_IPV4:!0,INCLUDE_IPV6:!1,REMOVE_LOCAL:!1,runIp:function(a,b){var c=b[0],d=b[1],e=b[2],f=b[3],g="(?:(?:\\d|[01]?\\d\\d|2[0-4]\\d|25[0-5])\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d|\\d)(?:\\/\\d{1,2})?",h="((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|(?![\\dA-F])))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})",i="";if(c&&d?i=g+"|"+h:c?i=g:d&&(i=h),i){var j=new RegExp(i,"ig");if(e){var k="10\\..+",l="192\\.168\\..+",m="172\\.(?:1[6-9]|2\\d|3[01])\\..+",n="127\\..+",o=new RegExp("^(?:"+k+"|"+l+"|"+m+"|"+n+")");return Extract._search(a,j,o,f)}return Extract._search(a,j,null,f)}return""},runEmail:function(a,b){var c=b[0],d=/\w[-.\w]*@[-\w]+(?:\.[-\w]+)*\.[A-Z]{2,4}/gi;return Extract._search(a,d,null,c)},runMac:function(a,b){var c=b[0],d=/[A-F\d]{2}(?:[:-][A-F\d]{2}){5}/gi;return Extract._search(a,d,null,c)},runUrls:function(a,b){var c=b[0],d="[A-Z]+://",e="[-\\w]+(?:\\.\\w[-\\w]*)+",f=":\\d+",g="/[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]*";g+="(?:[.!,?]+[^.!,?;\"'<>()\\[\\]{}\\s\\x7F-\\xFF]+)*";var h=new RegExp(d+e+"(?:"+f+")?(?:"+g+")?","ig");return Extract._search(a,h,null,c)},runDomains:function(a,b){var c=b[0],d="https?://"Line truncated
|
||||
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIpv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");return d},IP_FORMAT_LIST:["Dotted Decimal","Decimal","Hex"],runChangeIpFormat:function(a,b){for(var c=b[0],d=b[1],e=a.split("\n"),f="",g=0,h=0;h<e.length;h++)if(""!==e[h]){var i=[];if(c!==d){switch(c){casLine truncated
|
||||
"06032b8105108648095404010c":"id-ibia-Identix","06032b8105108648095404010d":"id-ibia-DERMALOG","06032b8105108648095404010e":"id-ibia-LOGICO","06032b8105108648095404010f":"id-ibia-NIST","06032b81051086480954040110":"id-ibia-A3Vision","06032b81051086480954040111":"id-ibia-NEC","06032b81051086480954040112":"id-ibia-STMicroelectronics","06032b81051086480954040102":"id-ibia-Bioscrypt","06032b81051086480954040103":"id-ibia-Visionics","06032b81051086480954040104":"id-ibia-InfineonTechnologiesAG","06032b81051086480954040105":"id-ibia-IridianTechnologies","06032b81051086480954040106":"id-ibia-Veridicom","06032b81051086480954040107":"id-ibia-CyberSIGN","06032b81051086480954040108":"id-ibia-eCryp.","06032b81051086480954040109":"id-ibia-FingerprintCardsAB","06032b810510864809540402":"x9-Owner","06032b0e021a05":"sha","06032b0e03020101":"rsa","06032b0e03020a":"desMAC","06032b0e03020b":"rsaSignature","06032b0e03020c":"dsa","06032b0e03020d":"dsaWithSHA","06032b0e03020e":"mdc2WithRSASignature","06032b0e03020f":"shaWithRSASignature","06032b0e030210":"dhWithCommonModulus","06032b0e030211":"desEDE","06032b0e030212":"sha","06032b0e030213":"mdc-2","06032b0e030202":"md4WitRSA","06032b0e03020201":"sqmod-N","06032b0e030214":"dsaCommon","06032b0e030215":"dsaCommonWithSHA","06032b0e030216":"rsaKeyTransport","06032b0e030217":"keyed-hash-seal","06032b0e030218":"md2WithRSASignature","06032b0e030219":"md5WithRSASignature","06032b0e03021a":"sha1","06032b0e03021b":"dsaWithSHA1","06032b0e03021c":"dsaWithCommonSHA1","06032b0e03021d":"sha-1WithRSAEncryption","06032b0e030203":"md5WithRSA","06032b0e03020301":"sqmod-NwithRSA","06032b0e030204":"md4WithRSAEncryption","06032b0e030206":"desECB","06032b0e030207":"desCBC","06032b0e030208":"desOFB","06032b0e030209":"desCFB","06032b0e030301":"simple-strong-auth-mechanism","06032b0e07020101":"ElGamal","06032b0e07020301":"md2WithRSA","06032b0e07020302":"md2WithElGamal","06032b2403":"algorithm","06032b240301":"encryptionAlgorithm","06032b24030101":"des","06032b240301010101":"desECBPad","06032b24030101010101":"desECBPadISO","06032b240301010201":"desCBCPad","06032b24030101020101":"desCBCPadISO","06032b24030102":"idea","06032b2403010201":"ideaECB","06032b240301020101":"ideaECBPad","06032b24030102010101":"ideaECBPadISO","06032b2403010202":"ideaCBC","06032b240301020201":"ideaCBCPad","06032b24030102020101":"ideaCBCPadISO","06032b2403010203":"ideaOFB","06032b2403010204":"ideaCFB","06032b24030103":"des-3","06032b240301030101":"des-3ECBPad","06032b24030103010101":"des-3ECBPadISO","06032b240301030201":"des-3CBCPad","06032b24030103020101":"des-3CBCPadISO","06032b240302":"hashAlgorithm","06032b24030201":"ripemd160","06032b24030202":"ripemd128","06032b24030203":"ripemd256","06032b24030204":"mdc2singleLength","06032b24030205":"mdc2doubleLength","06032b240303":"signatureAlgorithm","06032b24030301":"rsa","06032b2403030101":"rsaMitSHA-1","06032b2403030102":"rsaMitRIPEMD160","06032b24030302":"ellipticCurve","06032b240304":"signatureScheme","06032b24030401":"iso9796-1","06032b2403040201":"iso9796-2","06032b2403040202":"iso9796-2rsa","06032b2404":"attribute","06032b2405":"policy","06032b2406":"api","06032b240601":"manufacturerSpecific","06032b240602":"functionalitySpecific","06032b2407":"api","06032b240701":"keyAgreement","06032b240702":"keyTransport","06032b06010401927c0a0101":"UNINETT policyIdentifier","06032b0601040195180a":"ICE-TEL policyIdentifier","06032b0601040197552001":"cryptlibEnvelope","06032b0601040197552002":"cryptlibPrivateKey","060a2b060104018237":"Microsoft OID","060a2b0601040182370a":"Crypto 2.0","060a2b0601040182370a01":"certTrustList","060a2b0601040182370a0101":"szOID_SORTED_CTL","060a2b0601040182370a0a":"Microsoft CMC OIDs","060a2b0601040182370a0a01":"szOID_CMC_ADD_ATTRIBUTES","060a2b0601040182370a0b":"Microsoft certificate property OIDs","060a2b0601040182370a0b01":"szOID_CERT_PROP_ID_PREFIX","060a2b0601040182370a0c":"CryptUI","060a2b0601040182370a0c01":"szOID_ANY_APPLICATION_POLICY","060a2b0601040182370a02":"nextUpdateLocation","060a2b0601040182370a0301":"certTrustListSigning","060a2b0601040182370a030a":"szOID_KP_QUALIFIED_SUBORDINATION","060a2b0601040182370a030b":"szOID_KP_KEY_RECOVERY","060a2b0601040182370a030c":"szOID_KP_DOCUMENT_SIGNING","060a2b0601040182370a0302":"timeStampSigning","060a2b0601040182370a0303":"serverGatedCrypto","060a2b0601040182370a030301":"szOID_SERIALIZED","060a2b0601040182370a0304":"encryptedFileSystem","060a2b0601040182370a030401":"szOID_EFS_RECOVERY","060a2b0601040182370a0305":"szOID_WHQL_CRYPTO","060a2b0601040182370a0306":"szOID_NT5_CRYPTO","060a2b0601040182370a0307":"szOID_OEM_WHQL_CRYPTO","060a2b0601040182370a0308":"szOID_EMBEDDED_NT_CRYPTO","060a2b0601040182370a0309":"szOID_ROOT_LIST_SIGNER","060a2b0601040182370a0401":"yesnoTrustAttr","060a2b0601040182370a0501":"szOID_DRM","060a2b0601040182370a0502":"szOID_DRM_INDIVIDUALIZATION","060a2b0601040182370a0601":"szOID_LICENSES","060a2b0601040182370a0602":"szOID_LICENSE_SERVER","060a2b0601040182370a07":"szOID_MICROSOFT_RDN_PREFIX"Line truncated
|
||||
};var Dish=function(a,b){this.value=a||"string"==typeof a?a:null,this.type=b||Dish.BYTE_ARRAY};Dish.BYTE_ARRAY=0,Dish.STRING=1,Dish.NUMBER=2,Dish.HTML=3,Dish.typeEnum=function(a){switch(a){case"byteArray":case"Byte array":return Dish.BYTE_ARRAY;case"string":case"String":return Dish.STRING;case"number":case"Number":return Dish.NUMBER;case"html":case"HTML":return Dish.HTML;default:throw"Invalid data type string. No matching enum."}},Dish.enumLookup=function(a){switch(a){case Dish.BYTE_ARRAY:return"byteArray";case Dish.STRING:return"string";case Dish.NUMBER:return"number";case Dish.HTML:return"html";default:throw"Invalid data type enum. No matching type."}},Dish.prototype.set=function(a,b){if(this.value=a,this.type=b,!this.valid()){var c=Utils.truncate(JSON.stringify(this.value),13);throw"Data is not a valid "+Dish.enumLookup(b)+": "+c}},Dish.prototype.get=function(a){return this.type!==a&&this.translate(a),this.value},Dish.prototype.translate=function(a){switch(this.type){case Dish.STRING:this.value=this.value?Utils.strToByteArray(this.value):[],this.type=Dish.BYTE_ARRAY;break;case Dish.NUMBER:this.value="number"==typeof this.value?Utils.strToByteArray(this.value.toString()):[],this.type=Dish.BYTE_ARRAY;break;case Dish.HTML:this.value=this.value?Utils.strToByteArray(Utils.stripHtmlTags(this.value,!0)):[],this.type=Dish.BYTE_ARRAY}switch(a){case Dish.STRING:case Dish.HTML:this.value=this.value?Utils.byteArrayToUtf8(this.value):"",this.type=Dish.STRING;break;case Dish.NUMBER:this.value=this.value?parseFloat(Utils.byteArrayToUtf8(this.value)):0,this.type=Dish.NUMBER}},Dish.prototype.valid=function(){switch(this.type){case Dish.BYTE_ARRAY:if(!(this.value instanceof Array))return!1;for(var a=0;a<this.value.length;a++)if("number"!=typeof this.value[a]||this.value[a]<0||this.value[a]>255)return!1;return!0;case Dish.STRING:case Dish.HTML:return"string"==typeof this.value;case Dish.NUMBER:return"number"==typeof this.value;default:return!1}};var FlowControl={FORK_DELIM:"\\n",MERGE_DELIM:"\\n",FORK_IGNORE_ERRORS:!1,runFork:function(a){var b=a.opList,c=b[a.progress].inputType,d=b[a.progress].outputType,e=a.dish.get(c),f=b[a.progress].getIngValues(),g=f[0],h=f[1],i=f[2],j=[],k=[];e&&(k=e.split(g));for(var l=a.progress+1;l<b.length&&("Merge"!==b[l].name||b[l].isDisabled());l++)j.push(b[l]);var m=new Recipe,n="",o=0;for(m.addOperations(j),l=0;l<k.length;l++){var p=new Dish(k[l],c);try{o=m.execute(p,0)}catch(a){if(!i)throw a;o=a.progress+1}n+=p.get(d)+h}return a.dish.set(n,d),a.progress+=o,a},runMerge:function(a){return a},JUMP_NUM:0,MAX_JUMPS:10,runJump:function(a){var b=a.opList[a.progress].getIngValues(),c=b[0],d=b[1];return a.numJumps>=d?(a.progress++,a):(a.progress+=c,a.numJumps++,a)},runCondJump:function(a){var b=a.opList[a.progress].getIngValues(),c=a.dish,d=b[0],e=b[1],f=b[2];return a.numJumps>=f?(a.progress++,a):(""!==d&&c.get(Dish.STRING).search(d)>-1&&(a.progress+=e,a.numJumps++),a)},runReturn:function(a){return a.progress=a.opList.length,a}},Ingredient=function(a){this.name="",this.type="",this.value=null,a&&this._parseConfig(a)};Ingredient.prototype._parseConfig=function(a){this.name=a.name,this.type=a.type},Ingredient.prototype.getConfig=function(){return this.value},Ingredient.prototype.setValue=function(a){this.value=Ingredient.prepare(a,this.type)},Ingredient.prepare=function(a,b){switch(b){case"binaryString":case"binaryShortString":case"editableOption":return Utils.parseEscapedChars(a);case"byteArray":return"string"==typeof a?(a=a.replace(/\s+/g,""),Utils.hexToByteArray(a)):a;case"number":var c=parseFloat(a);if(isNaN(c)){var d=Utils.truncate(a.toString(),10);throw"Invalid ingredient value. Not a number: "+d}return c;default:return a}};var Operation=function(a,b){this.name=a,this.description="",this.inputType=-1,this.outputType=-1,this.run=null,this.highlight=null,this.highlightReverse=null,this.breakpoint=!1,this.disabled=!1,this.ingList=[],b&&this._parseConfig(b)};Operation.prototype._parseConfig=function(a){this.description=a.description,this.inputType=Dish.typeEnum(a.inputType),this.outputType=Dish.typeEnum(a.outputType),this.run=a.run,this.highlight=a.highlight,this.highlightReverse=a.highlightReverse,this.flowControl=a.flowControl;for(var b=0;b<a.args.length;b++){var c=a.args[b],d=new Ingredient(c);this.addIngredient(d)}},Operation.prototype.getConfig=function(){for(var a=[],b=0;b<this.ingList.length;b++)a.push(this.ingList[b].getConfig());var c={op:this.name,args:a};return c},Operation.prototype.addIngredient=function(a){this.ingList.push(a)},Operation.prototype.setIngValues=function(a){for(var b=0;b<a.length;b++)this.ingList[b].setValue(a[b])},Operation.prototype.getIngValues=function(){for(var a=[],b=0;b<this.ingList.length;b++)a.push(this.ingList[b].value);return a},Operation.prototype.setBreakpoint=function(a){this.breakpoint=!!a},Operation.prototype.isBreakpoint=function(){return this.breakpoint},Operation.prototype.setDisabled=function(a){this.disabled=!!a},Operation.prototype.isDisabled=functiLine truncated
|
||||
},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"DES Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>DES is a previously dominant algorithm for encryption, and was published as an official U.S. Federal Information Processing Standard (FIPS). It is now considered to be insecure due to its small key size.",run:Cipher.runDesEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"Triple DES Decrypt":{description:"To successfully decrypt Triple DES, you need either:<ul><li>The passphrase</li><li>Or the key and IV</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runTripleDesDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"Triple DES Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>Triple DES applies DES three times to each block to increase key size.",run:Cipher.runTripleDesEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"Blowfish Decrypt":{description:"Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention.",run:Cipher.runBlowfishDec,inputType:"string",outputType:"string",args:[{name:"Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Mode",type:"option",value:Cipher.BLOWFISH_MODES},{name:"Input format",type:"option",value:Cipher.IO_FORMAT3}]},"Blowfish Encrypt":{description:"Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention.",run:Cipher.runBlowfishEnc,inputType:"string",outputType:"string",args:[{name:"Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Mode",type:"option",value:Cipher.BLOWFISH_MODES},{name:"Output format",type:"option",value:Cipher.IO_FORMAT3}]},"Rabbit Decrypt":{description:"To successfully decrypt Rabbit, you need either:<ul><li>The passphrase</li><li>Or the key and IV (This is currently broken. You need the key and salt at the moment.)</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runRabbitDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"Rabbit Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>Rabbit is a high-performance stream cipher and a finalist in the eSTREAM Portfolio. It is one of the four designs selected after a 3 1/2 year process where 22 designs were evaluated.",run:Cipher.runRabbitEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",valLine truncated
|
||||
outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"JSON Beautify":{description:"Indents and prettifies JavaScript Object Notation (JSON) code.",run:Code.runJsonBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"CSS Beautify":{description:"Indents and prettifies Cascading Style Sheets (CSS) code.",run:Code.runCssBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"SQL Beautify":{description:"Indents and prettifies Structured Query Language (SQL) code.",run:Code.runSqlBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"XML Minify":{description:"Compresses eXtensible Markup Language (XML) code.",run:Code.runXmlMinify,inputType:"string",outputType:"string",args:[{name:"Preserve comments",type:"boolean",value:Code.PRESERVE_COMMENTS}]},"JSON Minify":{description:"Compresses JavaScript Object Notation (JSON) code.",run:Code.runJsonMinify,inputType:"string",outputType:"string",args:[]},"CSS Minify":{description:"Compresses Cascading Style Sheets (CSS) code.",run:Code.runCssMinify,inputType:"string",outputType:"string",args:[{name:"Preserve comments",type:"boolean",value:Code.PRESERVE_COMMENTS}]},"SQL Minify":{description:"Compresses Structured Query Language (SQL) code.",run:Code.runSqlMinify,inputType:"string",outputType:"string",args:[]},"Analyse hash":{description:"Tries to determine information about a given hash and suggests which algorithm may have been used to generate it based on its length.",run:Hash.runAnalyse,inputType:"string",outputType:"string",args:[]},MD2:{description:"The MD2 (Message-Digest 2) algorithm is a cryptographic hash function developed by Ronald Rivest in 1989. The algorithm is optimized for 8-bit computers.<br><br>Although MD2 is no longer considered secure, even as of 2014, it remains in use in public key infrastructures as part of certificates generated with MD2 and RSA.",run:Hash.runMD2,inputType:"string",outputType:"string",args:[]},MD4:{description:"The MD4 (Message-Digest 4) algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms.<br><br>The security of MD4 has been severely compromised.",run:Hash.runMD4,inputType:"string",outputType:"string",args:[]},MD5:{description:"MD5 (Message-Digest 5) is a widely used hash function. It has been used in a variety of security applications and is also commonly used to check the integrity of files.<br><br>However, MD5 is not collision resistant and it isn't suitable for applications like SSL/TLS certificates or digital signatures that rely on this property.",run:Hash.runMD5,inputType:"string",outputType:"string",args:[]},SHA0:{description:"SHA-0 is a retronym applied to the original version of the 160-bit hash function published in 1993 under the name 'SHA'. It was withdrawn shortly after publication due to an undisclosed 'significant flaw' and replaced by the slightly revised version SHA-1.",run:Hash.runSHA0,inputType:"string",outputType:"string",args:[]},SHA1:{description:"The SHA (Secure Hash Algorithm) hash functions were designed by the NSA. SHA-1 is the most established of the existing SHA hash functions and it is used in a variety of security applications and protocols.<br><br>However, SHA-1's collision resistance has been weakening as new attacks are discovered or improved.",run:Hash.runSHA1,inputType:"string",outputType:"string",args:[]},SHA224:{description:"SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.",run:Hash.runSHA224,inputType:"string",outputType:"string",args:[]},SHA256:{description:"SHA-256 is one of the four variants in the SHA-2 set. It isn't as widely used as SHA-1, though it provides much better security.",run:Hash.runSHA256,inputType:"string",outputType:"string",args:[]},SHA384:{description:"SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.",run:Hash.runSHA384,inputType:"string",outputType:"string",args:[]},SHA512:{description:"SHA-512 is largely identical to SHA-256 but operates on 64-bit words rather than 32.",run:Hash.runSHA512,inputType:"string",outputType:"string",args:[]},SHA3:{description:"This is an implementation of Keccak[c=2d]. SHA3 functions based on different implementations of Keccak will give different results.",run:Hash.runSHA3,inputType:"string",outputType:"string",args:[{name:"Output length",type:"option",value:Hash.SHA3_LENGTH}]},"RIPEMD-160":{description:"RIPEMD (RACE Integrity Primitives Evaluation Message Digest) is a family of cryptographic hash functions developed in Leuven, Belgium, by Hans Dobbertin, Antoon Bosselaers and Bart Preneel at the COSIC research group at the Katholieke Universiteit Leuven, and first published in
Line truncated
|
||||
}.bind(this)}),this.ioSplitter=Split(["#input","#output"],{direction:"vertical",gutterSize:4}),this.resetLayout()},HTMLApp.prototype.loadLocalStorage=function(){var a;void 0!==localStorage.options&&(a=JSON.parse(localStorage.options)),this.manager.options.load(a),this.loadFavourites()},HTMLApp.prototype.loadFavourites=function(){var a=localStorage.favourites&&localStorage.favourites.length>2?JSON.parse(localStorage.favourites):this.dfavourites;a=this.validFavourites(a),this.saveFavourites(a);var b=this.categories.filter(function(a){return"Favourites"===a.name})[0];b?b.ops=a:this.categories.unshift({name:"Favourites",ops:a})},HTMLApp.prototype.validFavourites=function(a){for(var b=[],c=0;c<a.length;c++)this.operations.hasOwnProperty(a[c])?b.push(a[c]):this.alert('The operation "'+Utils.escapeHtml(a[c])+'" is no longer available. It has been removed from your favourites.',"info");return b},HTMLApp.prototype.saveFavourites=function(a){localStorage.setItem("favourites",JSON.stringify(this.validFavourites(a)))},HTMLApp.prototype.resetFavourites=function(){this.saveFavourites(this.dfavourites),this.loadFavourites(),this.populateOperationsList(),this.manager.recipe.initialiseOperationDragNDrop()},HTMLApp.prototype.addFavourite=function(a){var b=JSON.parse(localStorage.favourites);return b.indexOf(a)>=0?void this.alert("'"+a+"' is already in your favourites","info",2e3):(b.push(a),this.saveFavourites(b),this.loadFavourites(),this.populateOperationsList(),void this.manager.recipe.initialiseOperationDragNDrop())},HTMLApp.prototype.loadURIParams=function(){this.queryString=function(a){if(""===a)return{};for(var b={},c=0;c<a.length;c++){var d=a[c].split("=");2!==d.length?b[a[c]]=!0:b[d[0]]=decodeURIComponent(d[1].replace(/\+/g," "))}return b}(window.location.search.substr(1).split("&"));var a=this.autoBake_;if(this.autoBake_=!1,this.queryString.recipe)try{var b=JSON.parse(this.queryString.recipe);this.setRecipeConfig(b)}catch(a){}else if(this.queryString.op){this.manager.recipe.clearRecipe();try{this.manager.recipe.addOperation(this.queryString.op)}catch(a){var c=this.manager.ops.filterOperations(this.queryString.op,!1);c.length&&this.manager.recipe.addOperation(c[0].name);var d=document.getElementById("search");d.value=this.queryString.op,d.dispatchEvent(new Event("search"))}}if(this.queryString.input)try{var e=Utils.fromBase64(this.queryString.input);this.setInput(e)}catch(a){}this.autoBake_=a,this.autoBake()},HTMLApp.prototype.nextIngId=function(){return this.ingId++},HTMLApp.prototype.getRecipeConfig=function(){var a=this.manager.recipe.getConfig();return sessionStorage.setItem("recipeConfig",JSON.stringify(a)),a},HTMLApp.prototype.setRecipeConfig=function(a){sessionStorage.setItem("recipeConfig",JSON.stringify(a)),document.getElementById("rec-list").innerHTML=null;for(var b=0;b<a.length;b++){for(var c=this.manager.recipe.addOperation(a[b].op),d=c.querySelectorAll(".arg"),e=0;e<d.length;e++)"checkbox"===d[e].getAttribute("type")?d[e].checked=a[b].args[e]:d[e].classList.contains("toggle-string")?(d[e].value=a[b].args[e].string,d[e].previousSibling.children[0].innerHTML=Utils.escapeHtml(a[b].args[e].option)+" <span class='caret'></span>"):d[e].value=a[b].args[e];a[b].disabled&&c.querySelector(".disable-icon").click(),a[b].breakpoint&&c.querySelector(".breakpoint").click(),this.progress=0}},HTMLApp.prototype.resetLayout=function(){this.columnSplitter.setSizes([20,30,50]),this.ioSplitter.setSizes([50,50]),this.manager.controls.adjustWidth(),this.manager.output.adjustWidth()},HTMLApp.prototype.setCompileMessage=function(){var a=new Date,b=Utils.fuzzyTime(a.getTime()-window.compileTime),c='<span style="font-weight: normal">Last build: '+b.substr(0,1).toUpperCase()+b.substr(1)+" ago";""!==window.compileMessage&&(c+=" - "+window.compileMessage),c+="</span>",document.getElementById("notice").innerHTML=c},HTMLApp.prototype.alert=function(a,b,c,d){var e=new Date;if(console.log("["+e.toLocaleString()+"] "+a),!d){b=b||"danger",c=c||0;var f=document.getElementById("alert"),g=document.getElementById("alert-content");f.classList.remove("alert-danger"),f.classList.remove("alert-warning"),f.classList.remove("alert-info"),f.classList.remove("alert-success"),f.classList.add("alert-"+b),"block"===f.style.display?g.innerHTML+="<br><br>["+e.toLocaleTimeString()+"] "+a:g.innerHTML="["+e.toLocaleTimeString()+"] "+a,$("#alert").stop(),f.style.display="block",f.style.opacity=1,c>0&&(clearTimeout(this.alertTimeout),this.alertTimeout=setTimeout(function(){$("#alert").slideUp(100)},c))}},HTMLApp.prototype.confirm=function(a,b,c,d){d=d||this,document.getElementById("confirm-title").innerHTML=a,document.getElementById("confirm-body").innerHTML=b,document.getElementById("confirm-modal").style.display="block",this.confirmClosed=!1,$("#confirm-modal").modal().one("show.bs.modal",function(a){this.confirmClosed=!1}.bind(this)).one("click","#confirm-yes",function(){this.confirmClosed=!0,c.bind(d)(!0),$("#confirm-modal").modal("hide")}.bind(this)).one(Line truncated
|
||||
},OutputWaiter.prototype.set=function(dataStr,type,duration){var outputText=document.getElementById("output-text"),outputHtml=document.getElementById("output-html"),outputHighlighter=document.getElementById("output-highlighter"),inputHighlighter=document.getElementById("input-highlighter");if("html"===type){outputText.style.display="none",outputHtml.style.display="block",outputHighlighter.display="none",inputHighlighter.display="none",outputText.value="",outputHtml.innerHTML=dataStr;for(var scriptElements=outputHtml.querySelectorAll("script"),i=0;i<scriptElements.length;i++)try{eval(scriptElements[i].innerHTML)}catch(a){console.error(a)}}else outputText.style.display="block",outputHtml.style.display="none",outputHighlighter.display="block",inputHighlighter.display="block",outputText.value=Utils.printable(dataStr,!0),outputHtml.innerHTML="";this.manager.highlighter.removeHighlights();var lines=dataStr.count("\n")+1;this.setOutputInfo(dataStr.length,lines,duration)},OutputWaiter.prototype.setOutputInfo=function(a,b,c){var d=a.toString().length;d=d<4?4:d;var e=Utils.pad(a.toString(),d," ").replace(/ /g," "),f=Utils.pad(b.toString(),d," ").replace(/ /g," "),g=Utils.pad(c.toString()+"ms",d," ").replace(/ /g," ");document.getElementById("output-info").innerHTML="time: "+g+"<br>length: "+e+"<br>lines: "+f,document.getElementById("input-selection-info").innerHTML="",document.getElementById("output-selection-info").innerHTML=""},OutputWaiter.prototype.adjustWidth=function(){var a=document.getElementById("output"),b=document.getElementById("save-to-file"),c=document.getElementById("switch"),d=document.getElementById("undo-switch"),e=document.getElementById("maximise-output");a.clientWidth<680?(b.childNodes[1].nodeValue="",c.childNodes[1].nodeValue="",d.childNodes[1].nodeValue="",e.childNodes[1].nodeValue=""):(b.childNodes[1].nodeValue=" Save to file",c.childNodes[1].nodeValue=" Move output to input",d.childNodes[1].nodeValue=" Undo",e.childNodes[1].nodeValue="Maximise"===e.getAttribute("title")?" Max":" Restore")},OutputWaiter.prototype.saveClick=function(){var a=Utils.toBase64(this.app.dishStr),b=window.prompt("Please enter a filename:","download.dat");if(b){var c=document.createElement("a");c.setAttribute("href","data:application/octet-stream;base64;charset=utf-8,"+a),c.setAttribute("download",b),c.style.display="none",document.body.appendChild(c),c.click(),c.remove()}},OutputWaiter.prototype.switchClick=function(){this.switchOrigData=this.manager.input.get(),document.getElementById("undo-switch").disabled=!1,this.app.setInput(this.app.dishStr)},OutputWaiter.prototype.undoSwitchClick=function(){this.app.setInput(this.switchOrigData),document.getElementById("undo-switch").disabled=!0},OutputWaiter.prototype.maximiseOutputClick=function(a){var b="maximise-output"===a.target.id?a.target:a.target.parentNode;"Maximise"===b.getAttribute("title")?(this.app.columnSplitter.collapse(0),this.app.columnSplitter.collapse(1),this.app.ioSplitter.collapse(0),b.setAttribute("title","Restore"),b.innerHTML="<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlUlEQVQ4y93RwQpBQRQG4C9ba1fxBteGPIj38BTejFJKLFnwCJIiCsW1mcV0k9yx82/OzGK+OXMGOpiiLTFjFNiilQI0sQ7IJiAjLKsgGVYB2YdaVO0kwy46/BVQi9ZDNPyQWen2ub/KufS8y7shfkq9tF9U7SC+/YluKvAI9YZeFeCECXJcA3JHP2WgMXJM/ZUcBwxeM+YuSWTgMtUAAAAASUVORK5CYII='> Restore",this.adjustWidth()):(b.setAttribute("title","Maximise"),b.innerHTML="<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAi0lEQVQ4y83TMQrCQBCF4S+5g4rJEdJ7KE+RQ1lrIQQCllroEULuoM0Ww3a7aXwwLAzMPzDvLcz4hnooUItT1rsoVNy+4lgLWNL7RlcCmDBij2eCfNCrUITc0dRCrhj8m5otw0O6SV8LuAV3uhrAAa8sJ2Np7KPFawhgscVLjH9bCDhjt8WNKft88w/HjCvuVqu53QAAAABJRU5ErkJggg=='> Max",this.app.resetLayout())};var RecipeWaiter=function(a,b){this.app=a,this.manager=b,this.removeIntent=!1};RecipeWaiter.prototype.initialiseOperationDragNDrop=function(){var a=document.getElementById("rec-list");Sortable.create(a,{group:"recipe",sort:!0,animation:0,delay:0,filter:".arg-input,.arg",setData:function(a,b){a.setData("Text",b.querySelector(".arg-title").textContent)},onEnd:function(a){this.removeIntent&&(a.item.remove(),a.target.dispatchEvent(this.manager.operationremove))}.bind(this)}),Sortable.utils.on(a,"dragover",function(){this.removeIntent=!1}.bind(this)),Sortable.utils.on(a,"dragleave",function(){this.removeIntent=!0,this.app.progress=0}.bind(this)),Sortable.utils.on(a,"touchend",function(b){var c=b.changedTouches[0],d=document.elementFromPoint(c.clientX,c.clientY);this.removeIntent=!a.contains(d)}.bind(this)),document.querySelector("#categories a").addEventListener("dragover",this.favDragover.bind(this)),document.querySelector("#categories a").addEventListener("dragleave",this.favDragleave.bind(this)),document.querySelector("#categories a").addEventListener("drop",this.favDrop.bind(this))},RecipeWaiter.prototype.creaLine truncated
|
||||
},IPV4_REGEX:/^\s*((?:\d{1,3}\.){3}\d{1,3})\s*$/,IPV6_REGEX:/^\s*(((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\4)::|:\b|(?![\dA-F])))|(?!\3\4)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4}))\s*$/i,runParseIpv6:function(a,b){var c,d="";if(!(c=IP.IPV6_REGEX.exec(a)))return"Invalid IPv6 address";var e=IP._strToIpv6(c[1]),f=IP._ipv6ToStr(e),g=IP._ipv6ToStr(e,!0);if(d+="Longhand: "+f+"\nShorthand: "+g+"\n","::"===g)d+="\nUnspecified address corresponding to 0.0.0.0/32 in IPv4.",d+="\nUnspecified address range: ::/128";else if("::1"===g)d+="\nLoopback address to the local host corresponding to 127.0.0.1/8 in IPv4.",d+="\nLoopback addresses range: ::1/128";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&65535===e[5])d+="\nIPv4-mapped IPv6 address detected. IPv6 clients will be handled natively by default, and IPv4 clients appear as IPv6 clients at their IPv4-mapped IPv6 address.",d+="\nMapped IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-mapped IPv6 addresses range: ::ffff:0:0/96";else if(0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]&&65535===e[4]&&0===e[5])d+="\nIPv4-translated address detected. Used by Stateless IP/ICMP Translation (SIIT). See RFCs 6145 and 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\nIPv4-translated addresses range: ::ffff:0:0:0/96";else if(256===e[0])d+="\nDiscard prefix detected. This is used when forwarding traffic to a sinkhole router to mitigate the effects of a denial-of-service attack. See RFC 6666 for more details.",d+="\nDiscard range: 100::/64";else if(100===e[0]&&65435===e[1]&&0===e[2]&&0===e[3]&&0===e[4]&&0===e[5])d+="\n'Well-Known' prefix for IPv4/IPv6 translation detected. See RFC 6052 for more details.",d+="\nTranslated IPv4 address: "+IP._ipv4ToStr((e[6]<<16)+e[7]),d+="\n'Well-Known' prefix range: 64:ff9b::/96";else if(8193===e[0]&&0===e[1]){d+="\nTeredo tunneling IPv6 address detected\n";var h=(e[2]<<16)+e[3],i=65535&~e[5],j=~((e[6]<<16)+e[7]),k=e[4]>>>15&1,l=e[4]>>>14&1,m=e[4]>>>10&15,n=e[4]>>>8&3,o=255&e[4];d+="\nServer IPv4 address: "+IP._ipv4ToStr(h)+"\nClient IPv4 address: "+IP._ipv4ToStr(j)+"\nClient UDP port: "+i+"\nFlags:\n\tCone: "+k,d+=k?" (Client is behind a cone NAT)":" (Client is not behind a cone NAT)",d+="\n\tR: "+l,l&&(d+=" Error: This flag should be set to 0. See RFC 5991 and RFC 4380."),d+="\n\tRandom1: "+Utils.bin(m,4)+"\n\tUG: "+Utils.bin(n,2),n&&(d+=" Error: This flag should be set to 00. See RFC 4380."),d+="\n\tRandom2: "+Utils.bin(o,8),d+=!l&&!n&&m&&o?"\n\nThis is a valid Teredo address which complies with RFC 4380 and RFC 5991.":l||n?"\n\nThis is an invalid Teredo address.":"\n\nThis is a valid Teredo address which complies with RFC 4380, however it does not comply with RFC 5991 (Teredo Security Updates) as there are no randomised bits in the flag field.",d+="\n\nTeredo prefix range: 2001::/32"}else if(8193===e[0]&&2===e[1]&&0===e[2])d+="\nAssigned to the Benchmarking Methodology Working Group (BMWG) for benchmarking IPv6. Corresponds to 198.18.0.0/15 for benchmarking IPv4. See RFC 5180 for more details.",d+="\nBMWG range: 2001:2::/48";else if(8193===e[0]&&e[1]>=16&&e[1]<=31)d+="\nDeprecated, previously ORCHIDv1 (Overlay Routable Cryptographic Hash Identifiers).\nORCHIDv1 range: 2001:10::/28\nORCHIDv2 now uses 2001:20::/28.";else if(8193===e[0]&&e[1]>=32&&e[1]<=47)d+="\nORCHIDv2 (Overlay Routable Cryptographic Hash Identifiers).\nThese are non-routed IPv6 addresses used for Cryptographic Hash Identifiers.",d+="\nORCHIDv2 range: 2001:20::/28";else if(8193===e[0]&&3512===e[1])d+="\nThis is a documentation IPv6 address. This range should be used whenever an example IPv6 address is given or to model networking scenarios. Corresponds to 192.0.2.0/24, 198.51.100.0/24, and 203.0.113.0/24 in IPv4.",d+="\nDocumentation range: 2001:db8::/32";else if(8194===e[0]){d+="\n6to4 transition IPv6 address detected. See RFC 3056 for more details.\n6to4 prefix range: 2002::/16";var p=IP._ipv4ToStr((e[1]<<16)+e[2]),q=e[3],r=e[4].toString(16)+e[5].toString(16)+e[6].toString(16)+e[7].toString(16),s=new BigInteger(r,16);d+="\n\nEncapsulated IPv4 address: "+p+"\nSLA ID: "+q+"\nInterface ID (base 16): "+r+"\nInterface ID (base 10): "+s.toString()}else e[0]>=64512&&e[0]<=65023?(d+="\nThis is a unique local address comparable to the IPv4 private addresses 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16. See RFC 4193 for more details.",d+="\nUnique local addresses range: fc00::/7"):e[0]>=65152&&e[0]<=65215?(d+="\nThis is a link-local address comparable to the auto-configuration addresses 169.254.0.0/16 in IPv4.",d+="\nLink-local addresses range: fe80::/10"):e[0]>=65280&&(d+="\nThis is a reserved multicast address.",d+="\nMulticast addresses range: ff00::/8");return d},IP_FORMAT_LIST:["Dotted Decimal","Decimal","Hex"],runChangeIpFormat:function(a,b){for(var c=b[0],d=b[1],e=a.split("\n"),f="",g=0,h=0;h<e.length;h++)if(""!==e[h]){var i=[];if(c!==d){switch(c){casLine truncated
|
||||
"06032b810510864809540113":"id-gait","06032b810510864809540102":"id-dna","06032b810510864809540103":"id-ear-Shape","06032b810510864809540104":"id-facial-Features","06032b810510864809540105":"id-finger-Image","06032b810510864809540106":"id-finger-Geometry","06032b810510864809540107":"id-hand-Geometry","06032b810510864809540108":"id-iris-Features","06032b810510864809540109":"id-keystroke-Dynamics","06032b8105108648095402":"processing-algorithm","06032b8105108648095403":"matching-method","06032b8105108648095404":"format-Owner","06032b810510864809540400":"cbeff-Owner","06032b810510864809540401":"ibia-Owner","06032b81051086480954040101":"id-ibia-SAFLINK","06032b8105108648095404010a":"id-ibia-SecuGen","06032b8105108648095404010b":"id-ibia-PreciseBiometric","06032b8105108648095404010c":"id-ibia-Identix","06032b8105108648095404010d":"id-ibia-DERMALOG","06032b8105108648095404010e":"id-ibia-LOGICO","06032b8105108648095404010f":"id-ibia-NIST","06032b81051086480954040110":"id-ibia-A3Vision","06032b81051086480954040111":"id-ibia-NEC","06032b81051086480954040112":"id-ibia-STMicroelectronics","06032b81051086480954040102":"id-ibia-Bioscrypt","06032b81051086480954040103":"id-ibia-Visionics","06032b81051086480954040104":"id-ibia-InfineonTechnologiesAG","06032b81051086480954040105":"id-ibia-IridianTechnologies","06032b81051086480954040106":"id-ibia-Veridicom","06032b81051086480954040107":"id-ibia-CyberSIGN","06032b81051086480954040108":"id-ibia-eCryp.","06032b81051086480954040109":"id-ibia-FingerprintCardsAB","06032b810510864809540402":"x9-Owner","06032b0e021a05":"sha","06032b0e03020101":"rsa","06032b0e03020a":"desMAC","06032b0e03020b":"rsaSignature","06032b0e03020c":"dsa","06032b0e03020d":"dsaWithSHA","06032b0e03020e":"mdc2WithRSASignature","06032b0e03020f":"shaWithRSASignature","06032b0e030210":"dhWithCommonModulus","06032b0e030211":"desEDE","06032b0e030212":"sha","06032b0e030213":"mdc-2","06032b0e030202":"md4WitRSA","06032b0e03020201":"sqmod-N","06032b0e030214":"dsaCommon","06032b0e030215":"dsaCommonWithSHA","06032b0e030216":"rsaKeyTransport","06032b0e030217":"keyed-hash-seal","06032b0e030218":"md2WithRSASignature","06032b0e030219":"md5WithRSASignature","06032b0e03021a":"sha1","06032b0e03021b":"dsaWithSHA1","06032b0e03021c":"dsaWithCommonSHA1","06032b0e03021d":"sha-1WithRSAEncryption","06032b0e030203":"md5WithRSA","06032b0e03020301":"sqmod-NwithRSA","06032b0e030204":"md4WithRSAEncryption","06032b0e030206":"desECB","06032b0e030207":"desCBC","06032b0e030208":"desOFB","06032b0e030209":"desCFB","06032b0e030301":"simple-strong-auth-mechanism","06032b0e07020101":"ElGamal","06032b0e07020301":"md2WithRSA","06032b0e07020302":"md2WithElGamal","06032b2403":"algorithm","06032b240301":"encryptionAlgorithm","06032b24030101":"des","06032b240301010101":"desECBPad","06032b24030101010101":"desECBPadISO","06032b240301010201":"desCBCPad","06032b24030101020101":"desCBCPadISO","06032b24030102":"idea","06032b2403010201":"ideaECB","06032b240301020101":"ideaECBPad","06032b24030102010101":"ideaECBPadISO","06032b2403010202":"ideaCBC","06032b240301020201":"ideaCBCPad","06032b24030102020101":"ideaCBCPadISO","06032b2403010203":"ideaOFB","06032b2403010204":"ideaCFB","06032b24030103":"des-3","06032b240301030101":"des-3ECBPad","06032b24030103010101":"des-3ECBPadISO","06032b240301030201":"des-3CBCPad","06032b24030103020101":"des-3CBCPadISO","06032b240302":"hashAlgorithm","06032b24030201":"ripemd160","06032b24030202":"ripemd128","06032b24030203":"ripemd256","06032b24030204":"mdc2singleLength","06032b24030205":"mdc2doubleLength","06032b240303":"signatureAlgorithm","06032b24030301":"rsa","06032b2403030101":"rsaMitSHA-1","06032b2403030102":"rsaMitRIPEMD160","06032b24030302":"ellipticCurve","06032b240304":"signatureScheme","06032b24030401":"iso9796-1","06032b2403040201":"iso9796-2","06032b2403040202":"iso9796-2rsa","06032b2404":"attribute","06032b2405":"policy","06032b2406":"api","06032b240601":"manufacturerSpecific","06032b240602":"functionalitySpecific","06032b2407":"api","06032b240701":"keyAgreement","06032b240702":"keyTransport","06032b06010401927c0a0101":"UNINETT policyIdentifier","06032b0601040195180a":"ICE-TEL policyIdentifier","06032b0601040197552001":"cryptlibEnvelope","06032b0601040197552002":"cryptlibPrivateKey","060a2b060104018237":"Microsoft OID","060a2b0601040182370a":"Crypto 2.0","060a2b0601040182370a01":"certTrustList","060a2b0601040182370a0101":"szOID_SORTED_CTL","060a2b0601040182370a0a":"Microsoft CMC OIDs","060a2b0601040182370a0a01":"szOID_CMC_ADD_ATTRIBUTES","060a2b0601040182370a0b":"Microsoft certificate property OIDs","060a2b0601040182370a0b01":"szOID_CERT_PROP_ID_PREFIX","060a2b0601040182370a0c":"CryptUI","060a2b0601040182370a0c01":"szOID_ANY_APPLICATION_POLICY","060a2b0601040182370a02":"nextUpdateLocation","060a2b0601040182370a0301":"certTrustListSigning","060a2b0601040182370a030a":"szOID_KP_QUALIFIED_SUBORDINATION","060a2b0601040182370a030b":"szOID_KP_KEY_RECOVERY","060a2b0601040182370a030c":"szOID_KP_DOCUMENT_SIGNING","060a2b060104018Line truncated
|
||||
};Chef.prototype.bake=function(a,b,c,d,e){var f=(new Date).getTime(),g=new Recipe(b),h=g.containsFlowControl(),i=!1;c.hasOwnProperty("attemptHighlight")&&(c.attemptHighlight=!0),h&&(c.attemptHighlight=!1),d>=b.length&&(d=0),e&&(g.setBreakpoint(d,!1),g.setBreakpoint(d+1,!0)),d>0&&h&&(g.removeBreaksUpTo(d),d=0),0===d&&this.dish.set(a,Dish.STRING);try{d=g.execute(this.dish,d)}catch(a){i=a,d=a.progress}return{result:this.dish.type===Dish.HTML?this.dish.get(Dish.HTML):this.dish.get(Dish.STRING),type:Dish.enumLookup(this.dish.type),progress:d,options:c,duration:(new Date).getTime()-f,error:i}},Chef.prototype.silentBake=function(a){var b=(new Date).getTime(),c=new Recipe(a),d=new Dish("",Dish.STRING);try{c.execute(d)}catch(a){}return(new Date).getTime()-b};var Dish=function(a,b){this.value=a||"string"==typeof a?a:null,this.type=b||Dish.BYTE_ARRAY};Dish.BYTE_ARRAY=0,Dish.STRING=1,Dish.NUMBER=2,Dish.HTML=3,Dish.typeEnum=function(a){switch(a){case"byteArray":case"Byte array":return Dish.BYTE_ARRAY;case"string":case"String":return Dish.STRING;case"number":case"Number":return Dish.NUMBER;case"html":case"HTML":return Dish.HTML;default:throw"Invalid data type string. No matching enum."}},Dish.enumLookup=function(a){switch(a){case Dish.BYTE_ARRAY:return"byteArray";case Dish.STRING:return"string";case Dish.NUMBER:return"number";case Dish.HTML:return"html";default:throw"Invalid data type enum. No matching type."}},Dish.prototype.set=function(a,b){if(this.value=a,this.type=b,!this.valid()){var c=Utils.truncate(JSON.stringify(this.value),13);throw"Data is not a valid "+Dish.enumLookup(b)+": "+c}},Dish.prototype.get=function(a){return this.type!==a&&this.translate(a),this.value},Dish.prototype.translate=function(a){switch(this.type){case Dish.STRING:this.value=this.value?Utils.strToByteArray(this.value):[],this.type=Dish.BYTE_ARRAY;break;case Dish.NUMBER:this.value="number"==typeof this.value?Utils.strToByteArray(this.value.toString()):[],this.type=Dish.BYTE_ARRAY;break;case Dish.HTML:this.value=this.value?Utils.strToByteArray(Utils.stripHtmlTags(this.value,!0)):[],this.type=Dish.BYTE_ARRAY}switch(a){case Dish.STRING:case Dish.HTML:this.value=this.value?Utils.byteArrayToUtf8(this.value):"",this.type=Dish.STRING;break;case Dish.NUMBER:this.value=this.value?parseFloat(Utils.byteArrayToUtf8(this.value)):0,this.type=Dish.NUMBER}},Dish.prototype.valid=function(){switch(this.type){case Dish.BYTE_ARRAY:if(!(this.value instanceof Array))return!1;for(var a=0;a<this.value.length;a++)if("number"!=typeof this.value[a]||this.value[a]<0||this.value[a]>255)return!1;return!0;case Dish.STRING:case Dish.HTML:return"string"==typeof this.value;case Dish.NUMBER:return"number"==typeof this.value;default:return!1}};var FlowControl={FORK_DELIM:"\\n",MERGE_DELIM:"\\n",FORK_IGNORE_ERRORS:!1,runFork:function(a){var b=a.opList,c=b[a.progress].inputType,d=b[a.progress].outputType,e=a.dish.get(c),f=b[a.progress].getIngValues(),g=f[0],h=f[1],i=f[2],j=[],k=[];e&&(k=e.split(g));for(var l=a.progress+1;l<b.length&&("Merge"!==b[l].name||b[l].isDisabled());l++)j.push(b[l]);var m=new Recipe,n="",o=0;for(m.addOperations(j),l=0;l<k.length;l++){var p=new Dish(k[l],c);try{o=m.execute(p,0)}catch(a){if(!i)throw a;o=a.progress+1}n+=p.get(d)+h}return a.dish.set(n,d),a.progress+=o,a},runMerge:function(a){return a},JUMP_NUM:0,MAX_JUMPS:10,runJump:function(a){var b=a.opList[a.progress].getIngValues(),c=b[0],d=b[1];return a.numJumps>=d?(a.progress++,a):(a.progress+=c,a.numJumps++,a)},runCondJump:function(a){var b=a.opList[a.progress].getIngValues(),c=a.dish,d=b[0],e=b[1],f=b[2];return a.numJumps>=f?(a.progress++,a):(""!==d&&c.get(Dish.STRING).search(d)>-1&&(a.progress+=e,a.numJumps++),a)},runReturn:function(a){return a.progress=a.opList.length,a}},Ingredient=function(a){this.name="",this.type="",this.value=null,a&&this._parseConfig(a)};Ingredient.prototype._parseConfig=function(a){this.name=a.name,this.type=a.type},Ingredient.prototype.getConfig=function(){return this.value},Ingredient.prototype.setValue=function(a){this.value=Ingredient.prepare(a,this.type)},Ingredient.prepare=function(a,b){switch(b){case"binaryString":case"binaryShortString":case"editableOption":return Utils.parseEscapedChars(a);case"byteArray":return"string"==typeof a?(a=a.replace(/\s+/g,""),Utils.hexToByteArray(a)):a;case"number":var c=parseFloat(a);if(isNaN(c)){var d=Utils.truncate(a.toString(),10);throw"Invalid ingredient value. Not a number: "+d}return c;default:return a}};var Operation=function(a,b){this.name=a,this.description="",this.inputType=-1,this.outputType=-1,this.run=null,this.highlight=null,this.highlightReverse=null,this.breakpoint=!1,this.disabled=!1,this.ingList=[],b&&this._parseConfig(b)};Operation.prototype._parseConfig=function(a){this.description=a.description,this.inputType=Dish.typeEnum(a.inputType),this.outputType=Dish.typeEnum(a.outputType),this.run=a.run,this.highlight=a.highlight,this.highlightReverse=a.highlightReverse,this.flowControl=a.flowControl;for(var b=0;b<a.args.lengthLine truncated
|
||||
type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"DES Decrypt":{description:"To successfully decrypt DES, you need either:<ul><li>The passphrase</li><li>Or the key and IV</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runDesDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"DES Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>DES is a previously dominant algorithm for encryption, and was published as an official U.S. Federal Information Processing Standard (FIPS). It is now considered to be insecure due to its small key size.",run:Cipher.runDesEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"Triple DES Decrypt":{description:"To successfully decrypt Triple DES, you need either:<ul><li>The passphrase</li><li>Or the key and IV</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runTripleDesDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Input format",type:"option",value:Cipher.IO_FORMAT1},{name:"Output format",type:"option",value:Cipher.IO_FORMAT2}]},"Triple DES Encrypt":{description:"Input: Either enter a passphrase (which will be used to derive a key using the OpenSSL KDF) or both the key and IV.<br><br>Triple DES applies DES three times to each block to increase key size.",run:Cipher.runTripleDesEnc,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Mode",type:"option",value:Cipher.MODES},{name:"Padding",type:"option",value:Cipher.PADDING},{name:"Output result",type:"option",value:Cipher.RESULT_TYPE},{name:"Output format",type:"option",value:Cipher.IO_FORMAT1}]},"Blowfish Decrypt":{description:"Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention.",run:Cipher.runBlowfishDec,inputType:"string",outputType:"string",args:[{name:"Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Mode",type:"option",value:Cipher.BLOWFISH_MODES},{name:"Input format",type:"option",value:Cipher.IO_FORMAT3}]},"Blowfish Encrypt":{description:"Blowfish is a symmetric-key block cipher designed in 1993 by Bruce Schneier and included in a large number of cipher suites and encryption products. AES now receives more attention.",run:Cipher.runBlowfishEnc,inputType:"string",outputType:"string",args:[{name:"Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"Mode",type:"option",value:Cipher.BLOWFISH_MODES},{name:"Output format",type:"option",value:Cipher.IO_FORMAT3}]},"Rabbit Decrypt":{description:"To successfully decrypt Rabbit, you need either:<ul><li>The passphrase</li><li>Or the key and IV (This is currently broken. You need the key and salt at the moment.)</li></ul>The IV should be the first 8 bytes of encrypted material.",run:Cipher.runRabbitDec,inputType:"string",outputType:"string",args:[{name:"Passphrase/Key",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT2},{name:"IV",type:"toggleString",value:"",toggleValues:Cipher.IO_FORMAT1},{name:"Salt",type:"toggleString",value:"",toggleValueLine truncated
|
||||
value:JS.PARSE_TOLERANT}]},"JavaScript Beautify":{description:"Parses and pretty prints valid JavaScript code. Also works with JavaScript Object Notation (JSON).",run:JS.runBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:JS.BEAUTIFY_INDENT},{name:"Quotes",type:"option",value:JS.BEAUTIFY_QUOTES},{name:"Semicolons before closing braces",type:"boolean",value:JS.BEAUTIFY_SEMICOLONS},{name:"Include comments",type:"boolean",value:JS.BEAUTIFY_COMMENT}]},"JavaScript Minify":{description:"Compresses JavaScript code.",run:JS.runMinify,inputType:"string",outputType:"string",args:[]},"XML Beautify":{description:"Indents and prettifies eXtensible Markup Language (XML) code.",run:Code.runXmlBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"JSON Beautify":{description:"Indents and prettifies JavaScript Object Notation (JSON) code.",run:Code.runJsonBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"CSS Beautify":{description:"Indents and prettifies Cascading Style Sheets (CSS) code.",run:Code.runCssBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"SQL Beautify":{description:"Indents and prettifies Structured Query Language (SQL) code.",run:Code.runSqlBeautify,inputType:"string",outputType:"string",args:[{name:"Indent string",type:"binaryShortString",value:Code.BEAUTIFY_INDENT}]},"XML Minify":{description:"Compresses eXtensible Markup Language (XML) code.",run:Code.runXmlMinify,inputType:"string",outputType:"string",args:[{name:"Preserve comments",type:"boolean",value:Code.PRESERVE_COMMENTS}]},"JSON Minify":{description:"Compresses JavaScript Object Notation (JSON) code.",run:Code.runJsonMinify,inputType:"string",outputType:"string",args:[]},"CSS Minify":{description:"Compresses Cascading Style Sheets (CSS) code.",run:Code.runCssMinify,inputType:"string",outputType:"string",args:[{name:"Preserve comments",type:"boolean",value:Code.PRESERVE_COMMENTS}]},"SQL Minify":{description:"Compresses Structured Query Language (SQL) code.",run:Code.runSqlMinify,inputType:"string",outputType:"string",args:[]},"Analyse hash":{description:"Tries to determine information about a given hash and suggests which algorithm may have been used to generate it based on its length.",run:Hash.runAnalyse,inputType:"string",outputType:"string",args:[]},MD2:{description:"The MD2 (Message-Digest 2) algorithm is a cryptographic hash function developed by Ronald Rivest in 1989. The algorithm is optimized for 8-bit computers.<br><br>Although MD2 is no longer considered secure, even as of 2014, it remains in use in public key infrastructures as part of certificates generated with MD2 and RSA.",run:Hash.runMD2,inputType:"string",outputType:"string",args:[]},MD4:{description:"The MD4 (Message-Digest 4) algorithm is a cryptographic hash function developed by Ronald Rivest in 1990. The digest length is 128 bits. The algorithm has influenced later designs, such as the MD5, SHA-1 and RIPEMD algorithms.<br><br>The security of MD4 has been severely compromised.",run:Hash.runMD4,inputType:"string",outputType:"string",args:[]},MD5:{description:"MD5 (Message-Digest 5) is a widely used hash function. It has been used in a variety of security applications and is also commonly used to check the integrity of files.<br><br>However, MD5 is not collision resistant and it isn't suitable for applications like SSL/TLS certificates or digital signatures that rely on this property.",run:Hash.runMD5,inputType:"string",outputType:"string",args:[]},SHA0:{description:"SHA-0 is a retronym applied to the original version of the 160-bit hash function published in 1993 under the name 'SHA'. It was withdrawn shortly after publication due to an undisclosed 'significant flaw' and replaced by the slightly revised version SHA-1.",run:Hash.runSHA0,inputType:"string",outputType:"string",args:[]},SHA1:{description:"The SHA (Secure Hash Algorithm) hash functions were designed by the NSA. SHA-1 is the most established of the existing SHA hash functions and it is used in a variety of security applications and protocols.<br><br>However, SHA-1's collision resistance has been weakening as new attacks are discovered or improved.",run:Hash.runSHA1,inputType:"string",outputType:"string",args:[]},SHA224:{description:"SHA-224 is largely identical to SHA-256 but is truncated to 224 bytes.",run:Hash.runSHA224,inputType:"string",outputType:"string",args:[]},SHA256:{description:"SHA-256 is one of the four variants in the SHA-2 set. It isn't as widely used as SHA-1, though it provides much better security.",run:Hash.runSHA256,inputType:"string",outputType:"string",args:[]},SHA384:{description:"SHA-384 is largely identical to SHA-512 but is truncated to 384 bytes.",run:Hash.runSHA384,inputType:"string",outputType:"Line truncated
|
||||
for(var a="",b=0;b<this.categories.length;b++){for(var c=this.categories[b],d=0===b,e=new HTMLCategory(c.name,d),f=0;f<c.ops.length;f++){var g=c.ops[f],h=new HTMLOperation(g,this.operations[g],this,this.manager);e.addOperation(h)}a+=e.toHtml()}document.getElementById("categories").innerHTML=a;var i=document.querySelectorAll("#categories .op-list");for(b=0;b<i.length;b++)i[b].dispatchEvent(this.manager.oplistcreate);document.querySelector("#categories a").appendChild(document.getElementById("edit-favourites"))},HTMLApp.prototype.initialiseSplitter=function(){this.columnSplitter=Split(["#operations","#recipe","#IO"],{sizes:[20,30,50],minSize:[240,325,440],gutterSize:4,onDrag:function(){this.manager.controls.adjustWidth(),this.manager.output.adjustWidth()}.bind(this)}),this.ioSplitter=Split(["#input","#output"],{direction:"vertical",gutterSize:4}),this.resetLayout()},HTMLApp.prototype.loadLocalStorage=function(){var a;void 0!==localStorage.options&&(a=JSON.parse(localStorage.options)),this.manager.options.load(a),this.loadFavourites()},HTMLApp.prototype.loadFavourites=function(){var a=localStorage.favourites&&localStorage.favourites.length>2?JSON.parse(localStorage.favourites):this.dfavourites;a=this.validFavourites(a),this.saveFavourites(a);var b=this.categories.filter(function(a){return"Favourites"===a.name})[0];b?b.ops=a:this.categories.unshift({name:"Favourites",ops:a})},HTMLApp.prototype.validFavourites=function(a){for(var b=[],c=0;c<a.length;c++)this.operations.hasOwnProperty(a[c])?b.push(a[c]):this.alert('The operation "'+Utils.escapeHtml(a[c])+'" is no longer available. It has been removed from your favourites.',"info");return b},HTMLApp.prototype.saveFavourites=function(a){localStorage.setItem("favourites",JSON.stringify(this.validFavourites(a)))},HTMLApp.prototype.resetFavourites=function(){this.saveFavourites(this.dfavourites),this.loadFavourites(),this.populateOperationsList(),this.manager.recipe.initialiseOperationDragNDrop()},HTMLApp.prototype.addFavourite=function(a){var b=JSON.parse(localStorage.favourites);return b.indexOf(a)>=0?void this.alert("'"+a+"' is already in your favourites","info",2e3):(b.push(a),this.saveFavourites(b),this.loadFavourites(),this.populateOperationsList(),void this.manager.recipe.initialiseOperationDragNDrop())},HTMLApp.prototype.loadURIParams=function(){this.queryString=function(a){if(""===a)return{};for(var b={},c=0;c<a.length;c++){var d=a[c].split("=");2!==d.length?b[a[c]]=!0:b[d[0]]=decodeURIComponent(d[1].replace(/\+/g," "))}return b}(window.location.search.substr(1).split("&"));var a=this.autoBake_;if(this.autoBake_=!1,this.queryString.recipe)try{var b=JSON.parse(this.queryString.recipe);this.setRecipeConfig(b)}catch(a){}else if(this.queryString.op){this.manager.recipe.clearRecipe();try{this.manager.recipe.addOperation(this.queryString.op)}catch(a){var c=this.manager.ops.filterOperations(this.queryString.op,!1);c.length&&this.manager.recipe.addOperation(c[0].name);var d=document.getElementById("search");d.value=this.queryString.op,d.dispatchEvent(new Event("search"))}}if(this.queryString.input)try{var e=Utils.fromBase64(this.queryString.input);this.setInput(e)}catch(a){}this.autoBake_=a,this.autoBake()},HTMLApp.prototype.nextIngId=function(){return this.ingId++},HTMLApp.prototype.getRecipeConfig=function(){var a=this.manager.recipe.getConfig();return sessionStorage.setItem("recipeConfig",JSON.stringify(a)),a},HTMLApp.prototype.setRecipeConfig=function(a){sessionStorage.setItem("recipeConfig",JSON.stringify(a)),document.getElementById("rec-list").innerHTML=null;for(var b=0;b<a.length;b++){for(var c=this.manager.recipe.addOperation(a[b].op),d=c.querySelectorAll(".arg"),e=0;e<d.length;e++)"checkbox"===d[e].getAttribute("type")?d[e].checked=a[b].args[e]:d[e].classList.contains("toggle-string")?(d[e].value=a[b].args[e].string,d[e].previousSibling.children[0].innerHTML=Utils.escapeHtml(a[b].args[e].option)+" <span class='caret'></span>"):d[e].value=a[b].args[e];a[b].disabled&&c.querySelector(".disable-icon").click(),a[b].breakpoint&&c.querySelector(".breakpoint").click(),this.progress=0}},HTMLApp.prototype.resetLayout=function(){this.columnSplitter.setSizes([20,30,50]),this.ioSplitter.setSizes([50,50]),this.manager.controls.adjustWidth(),this.manager.output.adjustWidth()},HTMLApp.prototype.setCompileMessage=function(){var a=new Date,b=Utils.fuzzyTime(a.getTime()-window.compileTime),c='<span style="font-weight: normal">Last build: '+b.substr(0,1).toUpperCase()+b.substr(1)+" ago";""!==window.compileMessage&&(c+=" - "+window.compileMessage),c+="</span>",document.getElementById("notice").innerHTML=c},HTMLApp.prototype.alert=function(a,b,c,d){var e=new Date;if(console.log("["+e.toLocaleString()+"] "+a),!d){b=b||"danger",c=c||0;var f=document.getElementById("alert"),g=document.getElementById("alert-content");f.classList.remove("alert-danger"),f.classList.remove("alert-warning"),f.classList.remove("alert-info"),f.classList.remove("alert-success"),f.classList.add("alert-"+b),Line truncated
|
||||
document.getElementById("output-html").classList.remove("word-wrap"),document.getElementById("input-highlighter").classList.remove("word-wrap"),document.getElementById("output-highlighter").classList.remove("word-wrap"),this.app.options.wordWrap||(document.getElementById("input-text").classList.add("word-wrap"),document.getElementById("output-text").classList.add("word-wrap"),document.getElementById("output-html").classList.add("word-wrap"),document.getElementById("input-highlighter").classList.add("word-wrap"),document.getElementById("output-highlighter").classList.add("word-wrap"))};var OutputWaiter=function(a,b){this.app=a,this.manager=b};OutputWaiter.prototype.get=function(){return document.getElementById("output-text").value},OutputWaiter.prototype.set=function(dataStr,type,duration){var outputText=document.getElementById("output-text"),outputHtml=document.getElementById("output-html"),outputHighlighter=document.getElementById("output-highlighter"),inputHighlighter=document.getElementById("input-highlighter");if("html"===type){outputText.style.display="none",outputHtml.style.display="block",outputHighlighter.display="none",inputHighlighter.display="none",outputText.value="",outputHtml.innerHTML=dataStr;for(var scriptElements=outputHtml.querySelectorAll("script"),i=0;i<scriptElements.length;i++)try{eval(scriptElements[i].innerHTML)}catch(a){console.error(a)}}else outputText.style.display="block",outputHtml.style.display="none",outputHighlighter.display="block",inputHighlighter.display="block",outputText.value=Utils.printable(dataStr,!0),outputHtml.innerHTML="";this.manager.highlighter.removeHighlights();var lines=dataStr.count("\n")+1;this.setOutputInfo(dataStr.length,lines,duration)},OutputWaiter.prototype.setOutputInfo=function(a,b,c){var d=a.toString().length;d=d<4?4:d;var e=Utils.pad(a.toString(),d," ").replace(/ /g," "),f=Utils.pad(b.toString(),d," ").replace(/ /g," "),g=Utils.pad(c.toString()+"ms",d," ").replace(/ /g," ");document.getElementById("output-info").innerHTML="time: "+g+"<br>length: "+e+"<br>lines: "+f,document.getElementById("input-selection-info").innerHTML="",document.getElementById("output-selection-info").innerHTML=""},OutputWaiter.prototype.adjustWidth=function(){var a=document.getElementById("output"),b=document.getElementById("save-to-file"),c=document.getElementById("switch"),d=document.getElementById("undo-switch"),e=document.getElementById("maximise-output");a.clientWidth<680?(b.childNodes[1].nodeValue="",c.childNodes[1].nodeValue="",d.childNodes[1].nodeValue="",e.childNodes[1].nodeValue=""):(b.childNodes[1].nodeValue=" Save to file",c.childNodes[1].nodeValue=" Move output to input",d.childNodes[1].nodeValue=" Undo",e.childNodes[1].nodeValue="Maximise"===e.getAttribute("title")?" Max":" Restore")},OutputWaiter.prototype.saveClick=function(){var a=Utils.toBase64(this.app.dishStr),b=window.prompt("Please enter a filename:","download.dat");if(b){var c=document.createElement("a");c.setAttribute("href","data:application/octet-stream;base64;charset=utf-8,"+a),c.setAttribute("download",b),c.style.display="none",document.body.appendChild(c),c.click(),c.remove()}},OutputWaiter.prototype.switchClick=function(){this.switchOrigData=this.manager.input.get(),document.getElementById("undo-switch").disabled=!1,this.app.setInput(this.app.dishStr)},OutputWaiter.prototype.undoSwitchClick=function(){this.app.setInput(this.switchOrigData),document.getElementById("undo-switch").disabled=!0},OutputWaiter.prototype.maximiseOutputClick=function(a){var b="maximise-output"===a.target.id?a.target:a.target.parentNode;"Maximise"===b.getAttribute("title")?(this.app.columnSplitter.collapse(0),this.app.columnSplitter.collapse(1),this.app.ioSplitter.collapse(0),b.setAttribute("title","Restore"),b.innerHTML="<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAlUlEQVQ4y93RwQpBQRQG4C9ba1fxBteGPIj38BTejFJKLFnwCJIiCsW1mcV0k9yx82/OzGK+OXMGOpiiLTFjFNiilQI0sQ7IJiAjLKsgGVYB2YdaVO0kwy46/BVQi9ZDNPyQWen2ub/KufS8y7shfkq9tF9U7SC+/YluKvAI9YZeFeCECXJcA3JHP2WgMXJM/ZUcBwxeM+YuSWTgMtUAAAAASUVORK5CYII='> Restore",this.adjustWidth()):(b.setAttribute("title","Maximise"),b.innerHTML="<img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAi0lEQVQ4y83TMQrCQBCF4S+5g4rJEdJ7KE+RQ1lrIQQCllroEULuoM0Ww3a7aXwwLAzMPzDvLcz4hnooUItT1rsoVNy+4lgLWNL7RlcCmDBij2eCfNCrUITc0dRCrhj8m5otw0O6SV8LuAV3uhrAAa8sJ2Np7KPFawhgscVLjH9bCDhjt8WNKft88w/HjCvuVqu53QAAAABJRU5ErkJggg=='> Max",this.app.resetLayout())};var RecipeWaiter=function(a,b){this.app=a,this.manager=b,this.removeIntent=!1};RecipeWaiter.prototype.initialiseOperationDragNDrop=function(){var a=document.getElementById("rec-list");Sortable.create(a,{group:"recipe",sort:!0,animation:0,delay:0,filter:".arg-input,.arg",setData:function(a,b){a.setData("Text",b.querySelector(".arg-title").textContent)},onEnd:function(a){this.removeInteLine truncated
|
||||
@@ -65,6 +65,24 @@ var MorseCode = {
|
||||
"8": "<dash><dash><dash><dot><dot>",
|
||||
"9": "<dash><dash><dash><dash><dot>",
|
||||
"0": "<dash><dash><dash><dash><dash>",
|
||||
".": "<dot><dash><dot><dash><dot><dash>",
|
||||
",": "<dash><dash><dot><dot><dash><dash>",
|
||||
":": "<dash><dash><dash><dot><dot><dot>",
|
||||
";": "<dash><dot><dash><dot><dash><dot>",
|
||||
"!": "<dash><dot><dash><dot><dash><dash>",
|
||||
"?": "<dot><dot><dash><dash><dot><dot>",
|
||||
"'": "<dot><dash><dash><dash><dash><dot>",
|
||||
"\"": "<dot><dash><dot><dot><dash><dot>",
|
||||
"/": "<dash><dot><dot><dash><dot>",
|
||||
"-": "<dash><dot><dot><dot><dot><dash>",
|
||||
"+": "<dot><dash><dot><dash><dot>",
|
||||
"(": "<dash><dot><dash><dash><dot>",
|
||||
")": "<dash><dot><dash><dash><dot><dash>",
|
||||
"@": "<dot><dash><dash><dot><dash><dot>",
|
||||
"=": "<dash><dot><dot><dot><dash>",
|
||||
"&": "<dot><dash><dot><dot><dot>",
|
||||
"_": "<dot><dot><dash><dash><dot><dash>",
|
||||
"$": "<dot><dot><dot><dash><dot><dot><dash>"
|
||||
},
|
||||
|
||||
|
||||
@@ -145,8 +163,8 @@ var MorseCode = {
|
||||
var letterDelim = Utils.charRep[args[0]];
|
||||
var wordDelim = Utils.charRep[args[1]];
|
||||
|
||||
input = input.replace(/-|_|dash/ig, "<dash>");
|
||||
input = input.replace(/\.|dot/ig, "<dot>");
|
||||
input = input.replace(/-|‐|−|_|–|—|dash/ig, "<dash>"); //hyphen-minus|hyphen|minus-sign|undersore|en-dash|em-dash
|
||||
input = input.replace(/\.|·|dot/ig, "<dot>");
|
||||
|
||||
var words = input.split(wordDelim);
|
||||
words = Array.prototype.map.call(words, function(word) {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
214 source files
|
||||
116176 lines
|
||||
115922 lines
|
||||
4.3M size
|
||||
|
||||
144 JavaScript source files
|
||||
106980 lines
|
||||
106730 lines
|
||||
3.8M size
|
||||
|
||||
83 third party JavaScript source files
|
||||
@@ -11,8 +11,8 @@
|
||||
3.0M size
|
||||
|
||||
61 first party JavaScript source files
|
||||
20721 lines
|
||||
776K size
|
||||
20471 lines
|
||||
764K size
|
||||
|
||||
3.5M uncompressed JavaScript size
|
||||
1.9M compressed JavaScript size
|
||||
|
||||
Reference in new issue
Block a user