├── 100js-learn ├── 123.js ├── 139youxiang.js ├── 188youxizhongxin.js ├── 189youxiang.js ├── 37youxi.js ├── 4366.js ├── 5173wang.js ├── 58tongcheng.js ├── 97dui.js ├── 99anquanzhongxin.js ├── DNS.js ├── Gmeiyouxi.js ├── RSAKEY.js ├── RSAUtils.js ├── aipai.js ├── aiqianjin.js ├── anjuke.js ├── aqiyi.js ├── baicaowei.js ├── baifangwang.js ├── bailian.js ├── changhong.js ├── chengtiezairong.js ├── dianrongwang.js ├── dianxin.js ├── dibiaojinrong.js ├── dingdangkuaiyao.js ├── douyouwang.js ├── duowanyouxi.js ├── epay.js ├── fangtianxia.js ├── feiluwang.js ├── fengchao.js ├── fenghuangjinrong.js ├── guoxinsuo.js ├── haodoutongxingzheng.js ├── hengxinyidai.js ├── holike.js ├── honglingchangtou.js ├── huijinsuo.js ├── jingdong-genPvid.js ├── jingdong.js ├── jinrongjie.js ├── jinyidianying.js ├── jiufuhuipu.js ├── jubaoyan.js ├── kaixindai.js ├── kaiyuanzhongguo.js ├── kongzhongwang.js ├── laokyouxi.js ├── lidejinrong.js ├── lvanwangluo.js ├── mangguoTV.js ├── meishiyouhui.js ├── mindaitianxia.js ├── mintoujinrong.js ├── mpweixin.js ├── mtime.js ├── mukewang.js ├── node_modules │ ├── _asn1@0.2.3@asn1 │ │ ├── .npmignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ ├── ber │ │ │ │ ├── errors.js │ │ │ │ ├── index.js │ │ │ │ ├── reader.js │ │ │ │ ├── types.js │ │ │ │ └── writer.js │ │ │ └── index.js │ │ ├── package.json │ │ └── tst │ │ │ └── ber │ │ │ ├── reader.test.js │ │ │ └── writer.test.js │ ├── _asn1@0.2.4@asn1 │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib │ │ │ ├── ber │ │ │ │ ├── errors.js │ │ │ │ ├── index.js │ │ │ │ ├── reader.js │ │ │ │ ├── types.js │ │ │ │ └── writer.js │ │ │ └── index.js │ │ └── package.json │ ├── _base64@2.1.0@base64 │ │ ├── .npmignore │ │ ├── base64.cc │ │ ├── binding.gyp │ │ ├── package.json │ │ ├── package.json~ │ │ ├── readme.txt │ │ └── test │ │ │ ├── data │ │ │ ├── data-png.png │ │ │ ├── data-rand-01 │ │ │ ├── data-rand-02 │ │ │ ├── data-rand-03 │ │ │ ├── data-rand-04 │ │ │ ├── data-rand-05 │ │ │ ├── data-rand-06 │ │ │ ├── data-rand-07 │ │ │ ├── data-rand-08 │ │ │ ├── data-rand-09 │ │ │ ├── data-rand-10 │ │ │ ├── data-rand-11 │ │ │ ├── data-rand-12 │ │ │ ├── data-rand-13 │ │ │ ├── data-rand-14 │ │ │ ├── data-rand-15 │ │ │ ├── data-rand-16 │ │ │ ├── data-rand-17 │ │ │ ├── data-rand-18 │ │ │ ├── data-rand-19 │ │ │ ├── data-rand-20 │ │ │ └── data-source-code.c │ │ │ ├── encode.js │ │ │ ├── hashes.json │ │ │ ├── perl-base64-encode.pl │ │ │ └── test.sh │ ├── _crypto-js@4.0.0@crypto-js │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── aes.js │ │ ├── bower.json │ │ ├── cipher-core.js │ │ ├── core.js │ │ ├── crypto-js.js │ │ ├── docs │ │ │ └── QuickStartGuide.wiki │ │ ├── enc-base64.js │ │ ├── enc-hex.js │ │ ├── enc-latin1.js │ │ ├── enc-utf16.js │ │ ├── enc-utf8.js │ │ ├── evpkdf.js │ │ ├── format-hex.js │ │ ├── format-openssl.js │ │ ├── hmac-md5.js │ │ ├── hmac-ripemd160.js │ │ ├── hmac-sha1.js │ │ ├── hmac-sha224.js │ │ ├── hmac-sha256.js │ │ ├── hmac-sha3.js │ │ ├── hmac-sha384.js │ │ ├── hmac-sha512.js │ │ ├── hmac.js │ │ ├── index.js │ │ ├── lib-typedarrays.js │ │ ├── md5.js │ │ ├── mode-cfb.js │ │ ├── mode-ctr-gladman.js │ │ ├── mode-ctr.js │ │ ├── mode-ecb.js │ │ ├── mode-ofb.js │ │ ├── package.json │ │ ├── pad-ansix923.js │ │ ├── pad-iso10126.js │ │ ├── pad-iso97971.js │ │ ├── pad-nopadding.js │ │ ├── pad-pkcs7.js │ │ ├── pad-zeropadding.js │ │ ├── pbkdf2.js │ │ ├── rabbit-legacy.js │ │ ├── rabbit.js │ │ ├── rc4.js │ │ ├── ripemd160.js │ │ ├── sha1.js │ │ ├── sha224.js │ │ ├── sha256.js │ │ ├── sha3.js │ │ ├── sha384.js │ │ ├── sha512.js │ │ ├── tripledes.js │ │ └── x64-core.js │ ├── _dom-walk@0.1.2@dom-walk │ │ ├── LICENCE │ │ ├── Makefile │ │ ├── README.md │ │ ├── example │ │ │ └── index.js │ │ ├── index.js │ │ └── package.json │ ├── _get-random-values@1.2.0@get-random-values │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── _global@4.4.0@global │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── console.js │ │ ├── document.js │ │ ├── package.json │ │ ├── process.js │ │ └── window.js │ ├── _jsencrypt@3.0.0-rc.1@jsencrypt │ │ ├── .idea │ │ │ ├── .name │ │ │ ├── encodings.xml │ │ │ ├── jsencrypt.iml │ │ │ ├── misc.xml │ │ │ ├── modules.xml │ │ │ ├── scopes │ │ │ │ └── scope_settings.xml │ │ │ ├── vcs.xml │ │ │ └── workspace.xml │ │ ├── Gemfile │ │ ├── Gemfile.lock │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── _site │ │ │ ├── LICENSE.txt │ │ │ ├── README.md │ │ │ ├── assets │ │ │ │ ├── css │ │ │ │ │ └── style.css │ │ │ │ └── javascript │ │ │ │ │ └── anchor-js │ │ │ │ │ ├── .eslintrc │ │ │ │ │ ├── .gitattributes │ │ │ │ │ ├── .travis.yml │ │ │ │ │ ├── anchor.js │ │ │ │ │ ├── anchor.min.js │ │ │ │ │ ├── banner.js │ │ │ │ │ └── docs │ │ │ │ │ ├── anchor.js │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── fonts │ │ │ │ │ ├── anchorjs-extras.eot │ │ │ │ │ ├── anchorjs-extras.svg │ │ │ │ │ ├── anchorjs-extras.ttf │ │ │ │ │ ├── anchorjs-extras.woff │ │ │ │ │ └── fonts.css │ │ │ │ │ ├── grunticon │ │ │ │ │ ├── grunticon.loader.js │ │ │ │ │ ├── icons.data.png.css │ │ │ │ │ ├── icons.data.svg.css │ │ │ │ │ ├── icons.fallback.css │ │ │ │ │ └── png │ │ │ │ │ │ └── grunticon-link.png │ │ │ │ │ ├── img │ │ │ │ │ ├── anchoring-links.png │ │ │ │ │ ├── anchorjs_logo.png │ │ │ │ │ ├── anchorlinks2.png │ │ │ │ │ ├── gh-link.svg │ │ │ │ │ ├── gh_link.svg │ │ │ │ │ ├── hyperlink.svg │ │ │ │ │ ├── link.svg │ │ │ │ │ ├── mini-logo.png │ │ │ │ │ └── primer-md.png │ │ │ │ │ ├── scripts.js │ │ │ │ │ └── styles.css │ │ │ ├── bin │ │ │ │ ├── jsencrypt.js │ │ │ │ └── jsencrypt.min.js │ │ │ ├── package.json │ │ │ ├── rollup.config.js │ │ │ ├── stats.json │ │ │ ├── tsconfig.json │ │ │ ├── tslint.json │ │ │ └── webpack.config.js │ │ ├── bin │ │ │ ├── jsencrypt.js │ │ │ └── jsencrypt.min.js │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── stats.json │ │ ├── tsconfig.json │ │ ├── tslint.json │ │ └── webpack.config.js │ ├── _md5-node@1.0.1@md5-node │ │ ├── .idea │ │ │ ├── .name │ │ │ ├── encodings.xml │ │ │ ├── misc.xml │ │ │ ├── modules.xml │ │ │ ├── node-md5.iml │ │ │ ├── scopes │ │ │ │ └── scope_settings.xml │ │ │ ├── vcs.xml │ │ │ └── workspace.xml │ │ ├── .npmignore │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── _min-document@2.19.0@min-document │ │ ├── .jshintrc │ │ ├── .npmignore │ │ ├── .testem.json │ │ ├── .travis.yml │ │ ├── CONTRIBUTION.md │ │ ├── LICENCE │ │ ├── README.md │ │ ├── docs.mli │ │ ├── document.js │ │ ├── dom-comment.js │ │ ├── dom-element.js │ │ ├── dom-fragment.js │ │ ├── dom-text.js │ │ ├── event.js │ │ ├── event │ │ │ ├── add-event-listener.js │ │ │ ├── dispatch-event.js │ │ │ └── remove-event-listener.js │ │ ├── index.js │ │ ├── package.json │ │ ├── serialize.js │ │ └── test │ │ │ ├── cleanup.js │ │ │ ├── index.js │ │ │ ├── static │ │ │ ├── index.html │ │ │ └── test-adapter.js │ │ │ ├── test-document.js │ │ │ ├── test-dom-comment.js │ │ │ └── test-dom-element.js │ ├── _node-cryptojs-aes@0.4.0@node-cryptojs-aes │ │ ├── .buildpath │ │ ├── .project │ │ ├── .settings │ │ │ ├── .jsdtscope │ │ │ ├── org.eclipse.php.core.prefs │ │ │ ├── org.eclipse.wst.jsdt.ui.superType.container │ │ │ └── org.eclipse.wst.jsdt.ui.superType.name │ │ ├── README.md │ │ ├── client │ │ │ ├── aes.js │ │ │ └── jsonformatter.js │ │ ├── cryptojs.js │ │ ├── examples │ │ │ ├── browser │ │ │ │ ├── css │ │ │ │ │ ├── bootstrap-theme.css │ │ │ │ │ ├── bootstrap.css │ │ │ │ │ └── cover.css │ │ │ │ ├── fonts │ │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ │ └── glyphicons-halflings-regular.woff │ │ │ │ ├── index.html │ │ │ │ ├── js │ │ │ │ │ └── main.js │ │ │ │ └── lib │ │ │ │ │ ├── bootstrap.js │ │ │ │ │ └── jquery-1.8.1.js │ │ │ └── server │ │ │ │ └── server.js │ │ ├── lib │ │ │ ├── aes.js │ │ │ ├── cipher-core.js │ │ │ ├── core.js │ │ │ ├── enc-base64.js │ │ │ ├── evpkdf.js │ │ │ ├── jsonformatter.js │ │ │ └── md5.js │ │ └── package.json │ ├── _node-jsencrypt@1.0.0@node-jsencrypt │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── _node-rsa@1.1.1@node-rsa │ │ ├── README.md │ │ ├── gruntfile.js │ │ ├── package.json │ │ └── src │ │ │ ├── NodeRSA.js │ │ │ ├── encryptEngines │ │ │ ├── encryptEngines.js │ │ │ ├── io.js │ │ │ ├── js.js │ │ │ └── node12.js │ │ │ ├── formats │ │ │ ├── components.js │ │ │ ├── formats.js │ │ │ ├── openssh.js │ │ │ ├── pkcs1.js │ │ │ └── pkcs8.js │ │ │ ├── libs │ │ │ ├── jsbn.js │ │ │ └── rsa.js │ │ │ ├── schemes │ │ │ ├── oaep.js │ │ │ ├── pkcs1.js │ │ │ ├── pss.js │ │ │ └── schemes.js │ │ │ └── utils.js │ ├── _nodejs-utf8@1.0.0@nodejs-utf8 │ │ ├── .npmignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── index.js │ │ └── package.json │ ├── _pidcrypt@0.0.31@pidcrypt │ │ ├── README.md │ │ ├── aes_cbc.js │ │ ├── aes_core.js │ │ ├── aes_ctr.js │ │ ├── asn1.js │ │ ├── gpl-3.0.txt │ │ ├── history.txt │ │ ├── index.js │ │ ├── jsbn.js │ │ ├── md5.js │ │ ├── oids.js │ │ ├── package.json │ │ ├── pidcrypt.js │ │ ├── pidcrypt_util.js │ │ ├── prng4.js │ │ ├── rng.js │ │ ├── rsa.js │ │ ├── seedrandom.js │ │ ├── sha1.js │ │ ├── sha256.js │ │ ├── sha512.js │ │ └── string_extend.js │ ├── _process@0.11.10@process │ │ ├── .eslintrc │ │ ├── LICENSE │ │ ├── README.md │ │ ├── browser.js │ │ ├── index.js │ │ ├── package.json │ │ └── test.js │ ├── _rsa-key@0.0.6@rsa-key │ │ ├── .eslintignore │ │ ├── .eslintrc.json │ │ ├── .nycrc │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── RSAKey.js │ │ │ ├── constants.js │ │ │ ├── error.js │ │ │ ├── formats │ │ │ │ ├── der.js │ │ │ │ ├── pem.js │ │ │ │ ├── pkcs1.js │ │ │ │ └── pkcs8.js │ │ │ ├── index.js │ │ │ ├── key.js │ │ │ └── util.js │ │ └── test │ │ │ ├── index.js │ │ │ ├── lib-der.js │ │ │ ├── lib-error.js │ │ │ ├── lib-key.js │ │ │ ├── lib-pem.js │ │ │ ├── lib-pkcs1.js │ │ │ ├── lib-pkcs8.js │ │ │ └── lib-util.js │ ├── _safer-buffer@2.1.2@safer-buffer │ │ ├── LICENSE │ │ ├── Porting-Buffer.md │ │ ├── Readme.md │ │ ├── dangerous.js │ │ ├── package.json │ │ ├── safer.js │ │ └── tests.js │ └── js-base64 │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── base64.d.ts │ │ ├── base64.js │ │ ├── base64.mjs │ │ └── package.json ├── oauthd.js ├── package-lock.json ├── phfund.js ├── pphuyu.js ├── qinghaiyidong.js ├── qqmail.js ├── renrendai.js ├── shanghaijianqiaoxueyuan.js ├── shangjinlieren.js ├── shijitiancheng.js ├── shikelianmeng.js ├── souhushandianyou.js ├── tianmao&taobao.js ├── tiantiankankan.js ├── tjinsuo.js ├── tonghuashun.js ├── tuandaiwang.js ├── wanchuangbang.js ├── wangyilongjian.js ├── weiyunbaobei.js ├── wxgongzhonghao.js ├── xiaoheihe.js ├── xiaoniuzaixian.js ├── xiaoyinglicai.js ├── xindou.js ├── xinrongcaifu.js ├── yiban.js ├── yidaiwang.js ├── yidongshangcheng.js ├── yilongdai.js ├── yiqianbao.js ├── yitongdai.js ├── zhangzhongcaifu.js ├── zhaoxiwang.js ├── zhenaiwang.js ├── zhiwangcaifu.js ├── zhongguoshangjiwang.js ├── zhonghuayingcaiwang.js ├── zhujinabu.js └── zhulong.js ├── dp ├── dp1.js └── dplogin.py ├── dx ├── DXImaRecovery.py ├── codetest.js ├── dx.py ├── ua.js ├── ua95.js └── wyserver.js ├── jdslider ├── SlideImage.py ├── jd.js ├── jd.py ├── pic_bg.png ├── pic_slice.png └── wyserver.js ├── js登录解密练手网站.txt ├── ttiao └── signature.js ├── useragents.py ├── v5 ├── main.js ├── output.js └── source.js ├── wblogin ├── weibo.js ├── weibo.py └── wyserver.js ├── yuanrenxue ├── 10 │ ├── 10.js │ ├── test.py │ └── wyserver.js ├── 01 │ └── 1.js ├── 02 │ └── 2.js ├── 05 │ └── 5.js ├── 06 │ ├── 6.js │ ├── test.py │ └── wyserver.js └── 09 │ ├── 9.js │ ├── test.py │ └── wyserver.js └── 读取大文件.py /100js-learn/139youxiang.js: -------------------------------------------------------------------------------- 1 | function a(a, c) { 2 | var d = (a & 65535) + (c & 65535); 3 | return (a >> 16) + (c >> 16) + (d >> 16) << 16 | d & 65535 4 | } 5 | calcDigest = function(b) { 6 | for (var c = (b.length + 8 >> 6) + 1, d = Array(16 * c), e = 0; e < 16 * c; e++) 7 | d[e] = 0; 8 | for (e = 0; e < b.length; e++) 9 | d[e >> 2] |= b.charCodeAt(e) << 24 - 8 * (e & 3); 10 | d[e >> 2] |= 128 << 24 - 8 * (e & 3); 11 | d[16 * c - 1] = 8 * b.length; 12 | b = Array(80); 13 | for (var c = 1732584193, e = -271733879, f = -1732584194, g = 271733878, k = -1009589776, h = 0; h < d.length; h += 16) { 14 | for (var l = c, m = e, n = f, p = g, q = k, j = 0; 80 > j; j++) { 15 | b[j] = 16 > j ? d[h + j] : (b[j - 3] ^ b[j - 8] ^ b[j - 14] ^ b[j - 16]) << 1 | (b[j - 3] ^ b[j - 8] ^ b[j - 14] ^ b[j - 16]) >>> 31; 16 | var r = a(a(c << 5 | c >>> 27, 20 > j ? e & f | ~e & g : 40 > j ? e ^ f ^ g : 60 > j ? e & f | e & g | f & g : e ^ f ^ g), a(a(k, b[j]), 20 > j ? 1518500249 : 40 > j ? 1859775393 : 60 > j ? -1894007588 : -899497514)) 17 | , k = g 18 | , g = f 19 | , f = e << 30 | e >>> 2 20 | , e = c 21 | , c = r 22 | } 23 | c = a(c, l); 24 | e = a(e, m); 25 | f = a(f, n); 26 | g = a(g, p); 27 | k = a(k, q) 28 | } 29 | d = [c, e, f, g, k]; 30 | b = ""; 31 | for (c = 0; c < 4 * d.length; c++) 32 | b += "0123456789abcdef".charAt(d[c >> 2] >> 8 * (3 - c % 4) + 4 & 15) + "0123456789abcdef".charAt(d[c >> 2] >> 8 * (3 - c % 4) & 15); 33 | return b 34 | } 35 | console.log(calcDigest("fetion.com.cn:123456789")) -------------------------------------------------------------------------------- /100js-learn/188youxizhongxin.js: -------------------------------------------------------------------------------- 1 | var JSEncrypt = require("node-jsencrypt"); 2 | var encrypt = new JSEncrypt(); 3 | encrypt.setPublicKey("-----BEGIN PUBLIC KEY-----\n" + 4 | "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDvEpk7iB6BF8ZLXG0vSMr7Qedl\n" + 5 | "B9Q4c9qrqiNziUt3RokRkr7pHxWlelQPC3JIMs+UvMkabTkDNE4pvx/DkFWEMzzu\n" + 6 | "HuDeenKNo1Ywymf8A6EtQIEL7MQpUaszPx6/u5YqLVvjN7fyvF5LSVgtzjYhTTHK\n" + 7 | "hTJF2R5dTkO3VswLVwIDAQAB\n" + 8 | "-----END PUBLIC KEY-----\n"); 9 | console.log(encrypt.encrypt("123456789"+ "c1mdfUWWj0GrVXuJj9deKiyzHB7702pC")) -------------------------------------------------------------------------------- /100js-learn/189youxiang.js: -------------------------------------------------------------------------------- 1 | const JSEncrypt = require("node-jsencrypt"); 2 | var encrypt = new JSEncrypt(); 3 | encrypt.setPublicKey("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDY7mpaUysvgQkbp0iIn2ezoUyhi1zPFn0HCXloLFWT7uoNkqtrphpQ/63LEcPz1VYzmDuDIf3iGxQKzeoHTiVMSmW6FlhDeqVOG094hFJvZeK4OzA6HVwzwnEW5vIZ7d+u61RV1bsFxmB68+8JXs3ycGcE4anY+YzZJcyOcEGKVQIDAQAB") 4 | var userName = "{RSA}" + encrypt.encrypt("18912345678"); 5 | var password = "{RSA}" + encrypt.encrypt("123456789"); 6 | console.log(userName) 7 | console.log(password) -------------------------------------------------------------------------------- /100js-learn/37youxi.js: -------------------------------------------------------------------------------- 1 | function param(password) { 2 | var ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; 3 | function __rsa(str) { 4 | var out, i, len; 5 | var c1, c2, c3; 6 | len = str.length; 7 | i = 0; 8 | out = ""; 9 | while (i < len) { 10 | c1 = str.charCodeAt(i++) & 0xff; 11 | if (i == len) { 12 | out += ch.charAt(c1 >> 2); 13 | out += ch.charAt((c1 & 0x3) << 4); 14 | out += "=="; 15 | break 16 | } 17 | c2 = str.charCodeAt(i++); 18 | if (i == len) { 19 | out += ch.charAt(c1 >> 2); 20 | out += ch.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)); 21 | out += ch.charAt((c2 & 0xF) << 2); 22 | out += "="; 23 | break 24 | } 25 | c3 = str.charCodeAt(i++); 26 | out += ch.charAt(c1 >> 2); 27 | out += ch.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4)); 28 | out += ch.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6)); 29 | out += ch.charAt(c3 & 0x3F) 30 | } 31 | return out 32 | } 33 | function td(a) { 34 | var maxPos = ch.length - 2 35 | , w = []; 36 | for (i = 0; i < 15; i++) { 37 | w.push(ch.charAt(Math.floor(Math.random() * maxPos))); 38 | if (i === 7) { 39 | w.push(a.substr(0, 3)) 40 | } 41 | if (i === 12) { 42 | w.push(a.substr(3)) 43 | } 44 | } 45 | return __rsa(w.join("")) 46 | } 47 | return td(password) 48 | } 49 | console.log(param("123456789")) 50 | -------------------------------------------------------------------------------- /100js-learn/4366.js: -------------------------------------------------------------------------------- 1 | var JSEncrypt = require("node-jsencrypt"); 2 | var key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDcV30OSW6Bd8uWyoUzajb7Rwe7NH9J8czQZSgGv9LBk0QZevURdhbME0GbCHS79mOP3+/KgvYZR5NakGd/ZGcagxhoCCY6sDYKA5iTQaXCbg5dhpfviWnj3ck0iGIVCf26QaquJttWsHEU3C0lwkJzGDTC0QjPnV4HwgDd70BcuwIDAQAB"; 3 | var encrypt = new JSEncrypt; 4 | encrypt.setPublicKey(key), 5 | console.log(encrypt.encrypt("123456789")) -------------------------------------------------------------------------------- /100js-learn/Gmeiyouxi.js: -------------------------------------------------------------------------------- 1 | var JSEncrypt = require("node-jsencrypt"); 2 | function encrypt(t, e) { 3 | var i = e ? e + "|" + t : t; 4 | var jsencrypt = new JSEncrypt; 5 | return jsencrypt.setPublicKey("-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDq04c6My441Gj0UFKgrqUhAUg+kQZeUeWSPlAU9fr4HBPDldAeqzx1UR92KJHuQh/zs1HOamE2dgX9z/2oXcJaqoRIA/FXysx+z2YlJkSk8XQLcQ8EBOkp//MZrixam7lCYpNOjadQBb2Ot0U/Ky+jF2p+Ie8gSZ7/u+Wnr5grywIDAQAB-----END PUBLIC KEY-----"), 6 | encodeURIComponent(jsencrypt.encrypt(i)) 7 | } 8 | console.log(encrypt("123456789",(new Date).getTime())) -------------------------------------------------------------------------------- /100js-learn/aiqianjin.js: -------------------------------------------------------------------------------- 1 | var Base64 = require("js-base64"); 2 | console.log(Base64.encode("123456789")) -------------------------------------------------------------------------------- /100js-learn/baicaowei.js: -------------------------------------------------------------------------------- 1 | // 获取sign 2 | // @param sPara 3 | // @returns {*} 4 | var md5=require("md5-node"); 5 | var utf8 = require('nodejs-utf8'); 6 | var getSign = function(sPara) { 7 | //把参数的键值取出来 8 | var keys = Object.keys(sPara); 9 | //键值升序排列 10 | keys = keys.sort(); 11 | var split = ''; 12 | var signString = ''; 13 | for (var i = 0; i < keys.length; i++) { 14 | signString += split + keys[i] + '=' + (typeof sPara[keys[i]] === 'object' ? JSON.stringify(sPara[keys[i]]) : sPara[keys[i]]); 15 | split = '&'; 16 | } 17 | signString = signString + 'FD92DF750B32765DA01A119BE1601D46'; 18 | return md5(utf8.encode(signString)); 19 | } 20 | //} 21 | const CryptoJS = require("crypto-js") 22 | var encrypt = function(parse) { 23 | var params = { 24 | data: JSON.stringify(parse), 25 | device: 'WechatMall/1.0/2.2.1', 26 | timestemp: Date.parse(new Date()) / 1000, 27 | token: '', 28 | //openid: getSessionStore('openid') ? getSessionStore('openid') : '' 29 | }; 30 | params.sign = getSign(params); 31 | 32 | params.openid = ''; 33 | 34 | var data = JSON.stringify(params); 35 | var key = 'b92dff3973ebdc1786803c2ce976a627'; 36 | var iv = key.substring(0, 16); 37 | key = CryptoJS.enc.Utf8.parse(key); 38 | iv = CryptoJS.enc.Utf8.parse(iv); 39 | var srcs = CryptoJS.enc.Utf8.parse(data); 40 | var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.ZeroPadding }); 41 | return { params: encrypted.toString() }; 42 | } 43 | console.log(encrypt({mobile_phone: "13687654321", 44 | password: "123456789", 45 | phone_captcha: "123456"})) -------------------------------------------------------------------------------- /100js-learn/baifangwang.js: -------------------------------------------------------------------------------- 1 | var md5 = require("md5-node"); 2 | console.log(md5("123456789")) -------------------------------------------------------------------------------- /100js-learn/changhong.js: -------------------------------------------------------------------------------- 1 | const CryptoJS = require("crypto-js"); 2 | var message = "123456789"; 3 | var key = "passport-gw-pc"; 4 | var keyHex = CryptoJS.enc.Utf8.parse(key); 5 | var encrypted = CryptoJS.DES.encrypt(message, keyHex, { 6 | mode: CryptoJS.mode.ECB, 7 | padding: CryptoJS.pad.Pkcs7 8 | }); 9 | console.log(encrypted.toString()) -------------------------------------------------------------------------------- /100js-learn/chengtiezairong.js: -------------------------------------------------------------------------------- 1 | var CryptoJS = require("crypto-js"); 2 | function encryptByDES(message, key) { 3 | var keyHex = CryptoJS.enc.Utf8.parse(key); 4 | // CryptoJS use CBC as the default mode, and Pkcs7 as the default padding scheme 5 | var encrypted = CryptoJS.DES.encrypt(message, keyHex, { 6 | mode: CryptoJS.mode.ECB, 7 | padding: CryptoJS.pad.Pkcs7 8 | }); 9 | var str = encrypted.toString(); 10 | str=str.replace("+","[j]").replace("+","[j]"); 11 | return str; 12 | } 13 | console.log(encryptByDES("123456789", "6Ta4OaHZdpA=")) -------------------------------------------------------------------------------- /100js-learn/dianrongwang.js: -------------------------------------------------------------------------------- 1 | function f(e) { 2 | var r = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqE2M4+LDkmRX50waOx+aTBgUUUH8l7S1pFzdEKEtKULnYtKlA9eCxU4W8nmdVAxHEpatwr1Z5p7ZiDoWxINyatV24pVgiDKYIPlr7ubBJlbFX2RLPCfV+SCm7jrgx9hqnUr6zMxaYvbFOre+G+/loC+Q1Wl2RpMYaqOl9gL5UanTPS2rX+qdQdxzRZe2ytL3hMi87f4FPYwptZpbGorc/bYBrsRrt8KsMnGCCNcLODyiSdbrmOOyBWPwKhHvI/sOUXwib5D7NtYmsjqLjDaHxapnPsl6EiEzoFQvCRWDLyDBkuRE2Th3ni5/UCx+WgOhbLvwNSojqRu324CZlfkWewIDAQAB"; 3 | var JSEncrypt = require("node-jsencrypt"); 4 | var t = new JSEncrypt(); 5 | return t.setPublicKey(r), 6 | t.encrypt(e) 7 | } 8 | var identity = f("13612345678"),password = f("123456789"); 9 | console.log(identity) 10 | console.log(password) -------------------------------------------------------------------------------- /100js-learn/dibiaojinrong.js: -------------------------------------------------------------------------------- 1 | var JSEncrypt = require("node-jsencrypt"); 2 | function encryptRSA(e) { 3 | var n = new JSEncrypt; 4 | return n.setPublicKey("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCLOicEokk/Q+L3Z5gG/ZhU0d8grNaoT6Ch7tzA8CJf/2r4C+fBZNXUbuDL9mQme104NztEKgqmNLTSAQ6k7f3w8Sx+7ks5PhBvCOVpW595JRGMAZmfqTws02zwGVtnoibRP28Wqnnd97uhuDZs6J5ewTthyzREfMwK6kd+qfuTnQIDAQAB"), 5 | n.encrypt(e) 6 | } 7 | console.log(encryptRSA("j123456789")) -------------------------------------------------------------------------------- /100js-learn/fenghuangjinrong.js: -------------------------------------------------------------------------------- 1 | const NodeRSA = require('node-rsa'); 2 | 3 | const a_public_key = new NodeRSA("-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvHa2FKT3CgcZCP1N04xABW48iXivuc6aw92hVwBkADzHGyn8CK1wTUa1qGObIOWZPPpS/ss8MT/fPNu50BUfWLEbxj0TWSYt1+dWUHz79ujLbsLo5NwMzYgIISkrYbwSwSfQ6wNgtn/tKoeieaOE4pynidC8TfZfEfIZjSydlmQIDAQAB-----END PUBLIC KEY-----"); 4 | const encrypted = a_public_key.encrypt({"username":"13612345678","password":"123456789"}, 'base64'); 5 | console.log(encrypted) -------------------------------------------------------------------------------- /100js-learn/huijinsuo.js: -------------------------------------------------------------------------------- 1 | var CryptoJS = require("crypto-js"); 2 | function encryptByDES(e) { 3 | return CryptoJS.MD5(e + "TuD00Iqz4ge7gzIe2rmjSAFFKtaIBmnr8S").toString() 4 | } 5 | console.log(encryptByDES("123456789")) 6 | 7 | -------------------------------------------------------------------------------- /100js-learn/jingdong-genPvid.js: -------------------------------------------------------------------------------- 1 | genPvid = function() { 2 | var a = (new Date).getTime(); 3 | var b = "xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, function(b) { 4 | var c = (a + 16 * Math.random()) % 16 | 0; 5 | return a = Math.floor(a / 16), 6 | ("x" == b ? c : 3 & c | 8).toString(16) 7 | }); 8 | return b 9 | } 10 | 11 | var t = "https://search.jd.com/Search?keyword=%E7%AC%94%E8%AE%B0%E6%9C%AC&enc=utf-8&wq=%E7%AC%94%E8%AE%B0%E6%9C%AC&pvid="+genPvid() 12 | console.log(t) -------------------------------------------------------------------------------- /100js-learn/jingdong.js: -------------------------------------------------------------------------------- 1 | const JSEncrypt = require("node-jsencrypt"); 2 | var encrypt = new JSEncrypt(); 3 | encrypt.setPublicKey("MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDC7kw8r6tq43pwApYvkJ5laljaN9BZb21TAIfT/vexbobzH7Q8SUdP5uDPXEBKzOjx2L28y7Xs1d9v3tdPfKI2LR7PAzWBmDMn8riHrDDNpUpJnlAGUqJG9ooPn8j7YNpcxCa1iybOlc2kEhmJn5uwoanQq+CA6agNkqly2H4j6wIDAQAB") 4 | console.log(encrypt.encrypt("123456789")) -------------------------------------------------------------------------------- /100js-learn/jinrongjie.js: -------------------------------------------------------------------------------- 1 | var md5 = require("md5-node"); 2 | var password = md5("123456789".toLowerCase()); 3 | var password1 = md5("123456789"); 4 | console.log({password,password1}) -------------------------------------------------------------------------------- /100js-learn/jinyidianying.js: -------------------------------------------------------------------------------- 1 | var Base64= require("js-base64"); 2 | getEncryption = function (value) { 3 | var val = Base64.encode(value); 4 | var arr = []; 5 | for (var i = 0; i < val.length; i++) { 6 | arr.push(val.charAt(i)); 7 | if (i % 2) { 8 | var num1 = Math.floor(10 * Math.random()); 9 | arr.push(num1); 10 | var num2 = Math.floor(10 * Math.random()); 11 | arr.push(num2); 12 | var num3 = Math.floor(10 * Math.random()); 13 | arr.push(num3) 14 | } 15 | } 16 | return arr.join(""); 17 | }; 18 | console.log(getEncryption("123456789")) -------------------------------------------------------------------------------- /100js-learn/jiufuhuipu.js: -------------------------------------------------------------------------------- 1 | var Base64 = require("js-base64"); 2 | console.log(Base64.encode("123456789")+",") -------------------------------------------------------------------------------- /100js-learn/kongzhongwang.js: -------------------------------------------------------------------------------- 1 | encrypt= function(str, pwd) { 2 | if (pwd == null || pwd.length <= 0) { 3 | return null 4 | } 5 | ;var prand = ""; 6 | for (var i = 0; i < pwd.length; i++) { 7 | prand += pwd.charCodeAt(i).toString() 8 | } 9 | ;var sPos = Math.floor(prand.length / 5); 10 | var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos * 2) + prand.charAt(sPos * 3) + prand.charAt(sPos * 4) + prand.charAt(sPos * 5)); 11 | var incr = Math.ceil(pwd.length / 2); 12 | var modu = Math.pow(2, 31) - 1; 13 | if (mult < 2) { 14 | return null 15 | } 16 | ;var salt = Math.round(Math.random() * 1000000000) % 100000000; 17 | prand += salt; 18 | while (prand.length > 10) { 19 | var a = prand.substring(0, 1); 20 | var b = prand.substring(10, prand.length); 21 | if (b.length > 10) { 22 | prand = b 23 | } else { 24 | prand = (parseInt(a) + parseInt(b)).toString() 25 | } 26 | } 27 | ;prand = (mult * prand + incr) % modu; 28 | var enc_chr = ""; 29 | var enc_str = ""; 30 | for (var i = 0; i < str.length; i++) { 31 | enc_chr = parseInt(str.charCodeAt(i) ^ Math.floor((prand / modu) * 255)); 32 | if (enc_chr < 16) { 33 | enc_str += "0" + enc_chr.toString(16) 34 | } else 35 | enc_str += enc_chr.toString(16); 36 | prand = (mult * prand + incr) % modu 37 | } 38 | ;salt = salt.toString(16); 39 | while (salt.length < 8) 40 | salt = "0" + salt; 41 | enc_str += salt; 42 | return enc_str 43 | }; 44 | //pwd 服务器返回的字符 45 | password = encrypt("123456789","643D88D1A540C70ACA9B983279688160") 46 | console.log(password) 47 | -------------------------------------------------------------------------------- /100js-learn/lvanwangluo.js: -------------------------------------------------------------------------------- 1 | var CryptoJS = require("crypto-js"); 2 | var Base64 = require("js-base64"); 3 | function w() {} 4 | function Y() {} 5 | function G() {} 6 | function I() { 7 | I = w; 8 | J = []; 9 | K = []; 10 | var a = new G, b = J, c = K, e = 0, d, f; 11 | for (f in a) 12 | if (d = a[f]) 13 | b[e] = f, 14 | c[e] = d, 15 | ++e 16 | } 17 | function H(a, b, c) { 18 | I(); 19 | var e = {} 20 | , d = [{},{a:1}]; 21 | I(); 22 | for (var f = 0, g = e.length; f < g; ++f) 23 | c[e[f]] = d[f]; 24 | c.cZ = a; 25 | c.cM = b; 26 | return c 27 | } 28 | function U() { 29 | U = w; 30 | X = H(Y, {}, [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 97, 98, 99, 100, 101, 102]); 31 | W = H(Y, {}, [9, -69, -14, 61, -88, -114, -126, 4]) 32 | } 33 | function P() { 34 | P = w; 35 | Q = H(Y, {}, [-35, -41, -66, -109, 120, 113, -6, 44]) 36 | } 37 | function e (data) { 38 | // b= '{"identityId":"13612345678","credential":"123456789","captcha":"123456","capId":"5c02ed98028a4775af6f61ceb3adde70","accountType":"PERSONALITY","gotourl":"","ls":"","pid":""}' 39 | b = JSON.stringify(data); 40 | d = Base64.encode(b); 41 | b = CryptoJS.MD5(d).toString() + b; 42 | U() 43 | var g = d = void 0 44 | , k = void 0 45 | , h = void 0; 46 | d = void 0; 47 | g = Y; 48 | k = {}; 49 | h = Array(32); 50 | for (d = 0; 32 > d; ++d) 51 | h[d] = 0; 52 | H(g, k, h); 53 | k = h; 54 | for (d = 0, 55 | g = 0; 16 > d; ++d) 56 | h = 8 > d ? -W[d] : -(P(), 57 | Q)[d - 8], 58 | k[g++] = X[~~(240 & h) >>> 4], 59 | k[g++] = X[15 & h]; 60 | d = String.fromCharCode.apply(null, k); 61 | d = CryptoJS.enc.Hex.parse(d); 62 | b = CryptoJS.AES.encrypt(b, d, { 63 | mode: CryptoJS.mode.ECB 64 | }).ciphertext.toString(); 65 | d = Base64.encode(b); 66 | return d 67 | } 68 | var data = {"identityId":"13612345678","credential":"123456789","captcha":"123456","capId":"a862bf8492fa46dda9e3cc9fe0ec3c5e","accountType":"PERSONALITY","gotourl":"","ls":"","pid":""}; 69 | console.log(e(data)) -------------------------------------------------------------------------------- /100js-learn/mindaitianxia.js: -------------------------------------------------------------------------------- 1 | var o = require("crypto-js"); 2 | var bizContent = {"userName":"13612345678", 3 | "password":"123456789", 4 | "headImgUrl":"", 5 | "deviceToken":"Ao-jqrAbdjvndgAT33kJXRG1E2ly924hu1lipEM6e38v", 6 | "imgCode":"qaz890", 7 | "captchaKey":"login", 8 | "deviceType":"wap", 9 | "notErrTips":true, 10 | "role":"2", 11 | "h5Version":"128", 12 | "isPacket":"false", 13 | "isH5":"1", 14 | "H5pageRoute":"https://mbank.mindai.com/app5/main.html#/login?go2where=goback"}, 15 | appKeySecret = "O2F2L0I84LC9U1KP"; 16 | var u, d, f, p, h, m, E, g = (u = JSON.stringify(bizContent), 17 | d = appKeySecret, 18 | f = appKeySecret, 19 | p = o.enc.Utf8.parse(u), 20 | h = o.enc.Utf8.parse(d), 21 | m = o.enc.Utf8.parse(f), 22 | E = o.AES.encrypt(p, h, { 23 | iv: m, 24 | mode: o.mode.CBC, 25 | padding: o.pad.Pkcs7 26 | }), 27 | o.enc.Base64.stringify(E.ciphertext)); 28 | console.log(g) 29 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log 3 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - 0.10 5 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Mark Cavage, All rights reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE 20 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/README.md: -------------------------------------------------------------------------------- 1 | node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. 2 | Currently BER encoding is supported; at some point I'll likely have to do DER. 3 | 4 | ## Usage 5 | 6 | Mostly, if you're *actually* needing to read and write ASN.1, you probably don't 7 | need this readme to explain what and why. If you have no idea what ASN.1 is, 8 | see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc 9 | 10 | The source is pretty much self-explanatory, and has read/write methods for the 11 | common types out there. 12 | 13 | ### Decoding 14 | 15 | The following reads an ASN.1 sequence with a boolean. 16 | 17 | var Ber = require('asn1').Ber; 18 | 19 | var reader = new Ber.Reader(new Buffer([0x30, 0x03, 0x01, 0x01, 0xff])); 20 | 21 | reader.readSequence(); 22 | console.log('Sequence len: ' + reader.length); 23 | if (reader.peek() === Ber.Boolean) 24 | console.log(reader.readBoolean()); 25 | 26 | ### Encoding 27 | 28 | The following generates the same payload as above. 29 | 30 | var Ber = require('asn1').Ber; 31 | 32 | var writer = new Ber.Writer(); 33 | 34 | writer.startSequence(); 35 | writer.writeBoolean(true); 36 | writer.endSequence(); 37 | 38 | console.log(writer.buffer); 39 | 40 | ## Installation 41 | 42 | npm install asn1 43 | 44 | ## License 45 | 46 | MIT. 47 | 48 | ## Bugs 49 | 50 | See . 51 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/lib/ber/errors.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Mark Cavage All rights reserved. 2 | 3 | 4 | module.exports = { 5 | 6 | newInvalidAsn1Error: function(msg) { 7 | var e = new Error(); 8 | e.name = 'InvalidAsn1Error'; 9 | e.message = msg || ''; 10 | return e; 11 | } 12 | 13 | }; 14 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/lib/ber/index.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Mark Cavage All rights reserved. 2 | 3 | var errors = require('./errors'); 4 | var types = require('./types'); 5 | 6 | var Reader = require('./reader'); 7 | var Writer = require('./writer'); 8 | 9 | 10 | ///--- Exports 11 | 12 | module.exports = { 13 | 14 | Reader: Reader, 15 | 16 | Writer: Writer 17 | 18 | }; 19 | 20 | for (var t in types) { 21 | if (types.hasOwnProperty(t)) 22 | module.exports[t] = types[t]; 23 | } 24 | for (var e in errors) { 25 | if (errors.hasOwnProperty(e)) 26 | module.exports[e] = errors[e]; 27 | } 28 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/lib/ber/types.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Mark Cavage All rights reserved. 2 | 3 | 4 | module.exports = { 5 | EOC: 0, 6 | Boolean: 1, 7 | Integer: 2, 8 | BitString: 3, 9 | OctetString: 4, 10 | Null: 5, 11 | OID: 6, 12 | ObjectDescriptor: 7, 13 | External: 8, 14 | Real: 9, // float 15 | Enumeration: 10, 16 | PDV: 11, 17 | Utf8String: 12, 18 | RelativeOID: 13, 19 | Sequence: 16, 20 | Set: 17, 21 | NumericString: 18, 22 | PrintableString: 19, 23 | T61String: 20, 24 | VideotexString: 21, 25 | IA5String: 22, 26 | UTCTime: 23, 27 | GeneralizedTime: 24, 28 | GraphicString: 25, 29 | VisibleString: 26, 30 | GeneralString: 28, 31 | UniversalString: 29, 32 | CharacterString: 30, 33 | BMPString: 31, 34 | Constructor: 32, 35 | Context: 128 36 | }; 37 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/lib/index.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Mark Cavage All rights reserved. 2 | 3 | // If you have no idea what ASN.1 or BER is, see this: 4 | // ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc 5 | 6 | var Ber = require('./ber/index'); 7 | 8 | 9 | 10 | ///--- Exported API 11 | 12 | module.exports = { 13 | 14 | Ber: Ber, 15 | 16 | BerReader: Ber.Reader, 17 | 18 | BerWriter: Ber.Writer 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.3@asn1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Mark Cavage ", 3 | "contributors": [ 4 | "David Gwynne ", 5 | "Yunong Xiao ", 6 | "Alex Wilson " 7 | ], 8 | "name": "asn1", 9 | "description": "Contains parsers and serializers for ASN.1 (currently BER only)", 10 | "version": "0.2.3", 11 | "repository": { 12 | "type": "git", 13 | "url": "git://github.com/mcavage/node-asn1.git" 14 | }, 15 | "main": "lib/index.js", 16 | "dependencies": {}, 17 | "devDependencies": { 18 | "tap": "0.4.8" 19 | }, 20 | "scripts": { 21 | "test": "./node_modules/.bin/tap ./tst" 22 | }, 23 | "license": "MIT", 24 | "__npminstall_done": "Tue Aug 18 2020 11:21:34 GMT+0800 (GMT+08:00)", 25 | "_from": "asn1@0.2.3", 26 | "_resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz" 27 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.4@asn1/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 Mark Cavage, All rights reserved. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE 20 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.4@asn1/README.md: -------------------------------------------------------------------------------- 1 | node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. 2 | Currently BER encoding is supported; at some point I'll likely have to do DER. 3 | 4 | ## Usage 5 | 6 | Mostly, if you're *actually* needing to read and write ASN.1, you probably don't 7 | need this readme to explain what and why. If you have no idea what ASN.1 is, 8 | see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc 9 | 10 | The source is pretty much self-explanatory, and has read/write methods for the 11 | common types out there. 12 | 13 | ### Decoding 14 | 15 | The following reads an ASN.1 sequence with a boolean. 16 | 17 | var Ber = require('asn1').Ber; 18 | 19 | var reader = new Ber.Reader(Buffer.from([0x30, 0x03, 0x01, 0x01, 0xff])); 20 | 21 | reader.readSequence(); 22 | console.log('Sequence len: ' + reader.length); 23 | if (reader.peek() === Ber.Boolean) 24 | console.log(reader.readBoolean()); 25 | 26 | ### Encoding 27 | 28 | The following generates the same payload as above. 29 | 30 | var Ber = require('asn1').Ber; 31 | 32 | var writer = new Ber.Writer(); 33 | 34 | writer.startSequence(); 35 | writer.writeBoolean(true); 36 | writer.endSequence(); 37 | 38 | console.log(writer.buffer); 39 | 40 | ## Installation 41 | 42 | npm install asn1 43 | 44 | ## License 45 | 46 | MIT. 47 | 48 | ## Bugs 49 | 50 | See . 51 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.4@asn1/lib/ber/errors.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Mark Cavage All rights reserved. 2 | 3 | 4 | module.exports = { 5 | 6 | newInvalidAsn1Error: function (msg) { 7 | var e = new Error(); 8 | e.name = 'InvalidAsn1Error'; 9 | e.message = msg || ''; 10 | return e; 11 | } 12 | 13 | }; 14 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.4@asn1/lib/ber/index.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Mark Cavage All rights reserved. 2 | 3 | var errors = require('./errors'); 4 | var types = require('./types'); 5 | 6 | var Reader = require('./reader'); 7 | var Writer = require('./writer'); 8 | 9 | 10 | // --- Exports 11 | 12 | module.exports = { 13 | 14 | Reader: Reader, 15 | 16 | Writer: Writer 17 | 18 | }; 19 | 20 | for (var t in types) { 21 | if (types.hasOwnProperty(t)) 22 | module.exports[t] = types[t]; 23 | } 24 | for (var e in errors) { 25 | if (errors.hasOwnProperty(e)) 26 | module.exports[e] = errors[e]; 27 | } 28 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.4@asn1/lib/ber/types.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Mark Cavage All rights reserved. 2 | 3 | 4 | module.exports = { 5 | EOC: 0, 6 | Boolean: 1, 7 | Integer: 2, 8 | BitString: 3, 9 | OctetString: 4, 10 | Null: 5, 11 | OID: 6, 12 | ObjectDescriptor: 7, 13 | External: 8, 14 | Real: 9, // float 15 | Enumeration: 10, 16 | PDV: 11, 17 | Utf8String: 12, 18 | RelativeOID: 13, 19 | Sequence: 16, 20 | Set: 17, 21 | NumericString: 18, 22 | PrintableString: 19, 23 | T61String: 20, 24 | VideotexString: 21, 25 | IA5String: 22, 26 | UTCTime: 23, 27 | GeneralizedTime: 24, 28 | GraphicString: 25, 29 | VisibleString: 26, 30 | GeneralString: 28, 31 | UniversalString: 29, 32 | CharacterString: 30, 33 | BMPString: 31, 34 | Constructor: 32, 35 | Context: 128 36 | }; 37 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.4@asn1/lib/index.js: -------------------------------------------------------------------------------- 1 | // Copyright 2011 Mark Cavage All rights reserved. 2 | 3 | // If you have no idea what ASN.1 or BER is, see this: 4 | // ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc 5 | 6 | var Ber = require('./ber/index'); 7 | 8 | 9 | 10 | // --- Exported API 11 | 12 | module.exports = { 13 | 14 | Ber: Ber, 15 | 16 | BerReader: Ber.Reader, 17 | 18 | BerWriter: Ber.Writer 19 | 20 | }; 21 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_asn1@0.2.4@asn1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Joyent (joyent.com)", 3 | "contributors": [ 4 | "Mark Cavage ", 5 | "David Gwynne ", 6 | "Yunong Xiao ", 7 | "Alex Wilson " 8 | ], 9 | "name": "asn1", 10 | "description": "Contains parsers and serializers for ASN.1 (currently BER only)", 11 | "version": "0.2.4", 12 | "repository": { 13 | "type": "git", 14 | "url": "git://github.com/joyent/node-asn1.git" 15 | }, 16 | "main": "lib/index.js", 17 | "dependencies": { 18 | "safer-buffer": "~2.1.0" 19 | }, 20 | "devDependencies": { 21 | "istanbul": "^0.3.6", 22 | "faucet": "0.0.1", 23 | "tape": "^3.5.0", 24 | "eslint": "2.13.1", 25 | "eslint-plugin-joyent": "~1.3.0" 26 | }, 27 | "scripts": { 28 | "test": "./node_modules/.bin/tape ./test/ber/*.test.js" 29 | }, 30 | "license": "MIT", 31 | "__npminstall_done": "Fri Aug 21 2020 14:20:34 GMT+0800 (GMT+08:00)", 32 | "_from": "asn1@0.2.4", 33 | "_resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz" 34 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/.npmignore: -------------------------------------------------------------------------------- 1 | base64.node 2 | build 3 | rgba-terminal.dat 4 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/binding.gyp: -------------------------------------------------------------------------------- 1 | { 2 | "targets": [ 3 | { 4 | "target_name": "base64", 5 | "sources": [ 6 | "base64.cc" 7 | ] 8 | }, 9 | { 10 | "target_name": "after_build", 11 | "type": "none", 12 | "dependencies": [ 13 | "base64" 14 | ], 15 | "actions": [ 16 | { 17 | "action_name": "symlink", 18 | "inputs": [ 19 | "<@(PRODUCT_DIR)/base64.node" 20 | ], 21 | "outputs": [ 22 | "<(module_root_dir)/base64.node" 23 | ], 24 | "action": ["ln", "-s", "<@(PRODUCT_DIR)/base64.node", "<(module_root_dir)/base64.node"] 25 | } 26 | ] 27 | } 28 | ] 29 | } 30 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base64", 3 | "version": "2.1.0", 4 | "main": "base64", 5 | "description": "A C++ module for node-js that does base64 encoding and decoding.", 6 | "keywords": [ 7 | "base conversion", 8 | "base64", 9 | "base64 encode", 10 | "base64 decode", 11 | "base64_encode", 12 | "base64_decode", 13 | "encode", 14 | "decode" 15 | ], 16 | "author": { 17 | "name": "Peteris Krumins", 18 | "email": "peteris.krumins@gmail.com", 19 | "web": "http://www.catonmat.net", 20 | "twitter": "pkrumins" 21 | }, 22 | "contributors": [ 23 | "Jakub Lekstan " 24 | ], 25 | "license": "MIT", 26 | "repository": { 27 | "type": "git", 28 | "url": "http://github.com/pkrumins/node-base64.git" 29 | }, 30 | "directories": { 31 | "tests": "tests" 32 | }, 33 | "engines": { 34 | "node": ">=0.8.0" 35 | }, 36 | "__npminstall_done": false, 37 | "_from": "base64@2.1.0", 38 | "_resolved": "https://registry.npm.taobao.org/base64/download/base64-2.1.0.tgz" 39 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/package.json~: -------------------------------------------------------------------------------- 1 | { 2 | "name": "base64", 3 | "version": "2.0.6", 4 | "main": "base64", 5 | "description": "A C++ module for node-js that does base64 encoding and decoding.", 6 | "keywords": [ 7 | "base conversion", 8 | "base64", 9 | "base64 encode", "base64 decode", 10 | "base64_encode", "base64_decode", 11 | "encode", "decode" 12 | ], 13 | "author": { 14 | "name": "Peteris Krumins", 15 | "email": "peteris.krumins@gmail.com", 16 | "web": "http://www.catonmat.net", 17 | "twitter": "pkrumins" 18 | }, 19 | "license": "MIT", 20 | "repository": { 21 | "type": "git", 22 | "url": "http://github.com/pkrumins/node-base64.git" 23 | }, 24 | "directories": { 25 | "tests": "tests" 26 | }, 27 | "engines": { 28 | "node": ">=0.3.0" 29 | }, 30 | "scripts": { 31 | "install": "node-waf configure build install" 32 | } 33 | } 34 | 35 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/readme.txt: -------------------------------------------------------------------------------- 1 | Update: this module may no longer be necessary as nodejs includes its own 2 | base64 encoding/decoding functions. 3 | 4 | This is a node.js C++ module that encodes and decodes to/from base64. Oh, and 5 | compared to all other modules, it actually works. 6 | 7 | It was written by Peteris Krumins (peter@catonmat.net). 8 | His blog is at http://www.catonmat.net -- good coders code, great reuse. 9 | 10 | ------------------------------------------------------------------------------ 11 | 12 | To build the module run: 13 | 14 | node-waf configure build 15 | 16 | This will produce `base64.node` binary module. To use it, make sure the 17 | module's directory is in NODE_PATH. 18 | 19 | The module exports two functions `encode` and `decode`. 20 | 21 | encode 22 | ------ 23 | 24 | Encodes a buffer to base64, returns encoded ascii string. Unlike all other 25 | base64, it actually works well with binary data. If you're wondering why it 26 | takes a buffer as argument, it's because there is no way to pass binary 27 | strings to C++ code in a sane way. 28 | 29 | Here is a basic example: 30 | 31 | var sys = require('sys'); 32 | var base64_encode = require('base64').encode; 33 | var Buffer = require('buffer').Buffer; 34 | 35 | var buf = new Buffer('hello world'); 36 | 37 | sys.print(base64_encode(buf)); 38 | 39 | /* Output: aGVsbG8gd29ybGQ= */ 40 | 41 | 42 | decode 43 | ------ 44 | 45 | Decodes a buffer containing base64 string, or just a base64 string to original 46 | data. 47 | 48 | var sys = require('sys'); 49 | var base64_decode = require('base64').decode; 50 | 51 | sys.print(base64_decode('aGVsbG8gd29ybGQ=')); 52 | 53 | /* Output: hello world */ 54 | 55 | 56 | ------------------------------------------------------------------------------ 57 | 58 | 59 | SGF2ZSBmdW4hCg== 60 | 61 | 62 | Sincerely, 63 | Peteris Krumins 64 | http://www.catonmat.net 65 | 66 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-png.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-png.png -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-01: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-01 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-02: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-02 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-03: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-03 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-04: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-04 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-05: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-05 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-06: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-06 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-07: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-07 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-08: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-08 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-09: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-09 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-10: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-10 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-11: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-11 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-12: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-12 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-13: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-13 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-14: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-14 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-15: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-15 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-16: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-16 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-17: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-17 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-18: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-18 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-19: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-19 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-20: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_base64@2.1.0@base64/test/data/data-rand-20 -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/encode.js: -------------------------------------------------------------------------------- 1 | var base64 = require('base64'); 2 | var crypto = require('crypto'); 3 | var fs = require('fs'); 4 | var Hash = require('traverse/hash'); 5 | var hashes = JSON.parse( 6 | fs.readFileSync(__dirname + '/hashes.json').toString() 7 | ); 8 | 9 | function md5hex (data) { 10 | return new crypto.Hash('md5').update(data.toString()).digest('hex'); 11 | } 12 | 13 | exports.encode = function (assert) { 14 | Hash(hashes).forEach(function (hash, file) { 15 | fs.readFile(__dirname + '/' + file, function (err, buf) { 16 | if (err) throw err; 17 | assert.equal(hash, md5hex(base64.encode(buf))); 18 | }); 19 | }); 20 | }; 21 | 22 | exports.symmetric = function (assert) { 23 | var buf = new Buffer('pow biff zing'); 24 | assert.equal( 25 | buf, 26 | base64.decode(base64.encode(buf)) 27 | ); 28 | }; 29 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/hashes.json: -------------------------------------------------------------------------------- 1 | {"data/data-png.png":"2054021af507f5e7918f19ad70e65535","data/data-rand-14":"c06dc9c60cf1656b209eed81795bd567","data/data-rand-13":"93690414d726b5d94e5664d8bd14e349","data/data-rand-17":"a7b3087d9672987bb4816c48d1e19817","data/data-rand-03":"d4868c6a880db6b4b3a5040f351d2edd","data/data-rand-20":"9ee81d8ce7287b8c1048e7cc90c350f3","data/data-rand-12":"48a265c77e007c50618e3f8bd4d66788","data/data-rand-05":"238a24dafdbe37aa65e4e7b300973abd","data/data-rand-19":"b7677c3ed7a301c72e4b1d5d69dfd46d","data/data-rand-01":"73ee8eea6d118e7ef290f240656ff860","data/data-rand-15":"0f2bdc3e4edd681447794293da15cf2d","data/data-png.png-node-out":"d41d8cd98f00b204e9800998ecf8427e","data/data-png.png-perl-out":"f81e67a2c004cdd10aac4932f5d5db1d","data/data-rand-18":"ffa08760cd50a8ebce9aab0a612081f8","data/data-rand-07":"757b65998ba0c1878eb89912072ffc58","data/data-rand-10":"20715b7f90660e5de91cd7a5b67c8c1d","data/data-rand-16":"e994a7f48d9b9a74978e4bd59f056799","data/data-rand-02":"b5b23ca2bb4dfb3828d755fe5a16a99d","data/data-rand-11":"17ef8d10e499c91c7f991de1f275886a","data/data-rand-09":"bb3e7e19fb5cfdde4d5b691125037150","data/data-source-code.c":"69911e1859fc241c9f56d2e80cdb3fc7","data/data-rand-06":"1aea9e22d8f0ab27200e8399c9de979d","data/data-rand-04":"ff50850a6be21360908e8cd96006f645","data/data-rand-08":"75ab879739a0123f432403ebc6f5d8d4"} -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/perl-base64-encode.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | use warnings; 3 | use strict; 4 | 5 | use MIME::Base64 qw/encode_base64/; 6 | use Digest::MD5 qw/md5_hex/; 7 | use JSON qw/encode_json/; 8 | use Slurp qw/slurp/; 9 | 10 | print encode_json({ map { 11 | $_ => md5_hex(join '', split /\s+/, encode_base64(scalar slurp($_))) 12 | } glob 'data/*' }); 13 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_base64@2.1.0@base64/test/test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | 4 | set -e 5 | 6 | FILES=$(find ./data -type f) 7 | 8 | for file in $FILES; do 9 | perlf=${file}-perl-out 10 | nodef=${file}-node-out 11 | 12 | echo "testing $file" 13 | 14 | perl perl-base64-encode.pl $file > $perlf 15 | node node-base64-encode.js $file > $nodef 16 | 17 | cmp $perlf $nodef 18 | 19 | node node-base64-decode.js $nodef > $nodef-dec 20 | 21 | cmp $file $nodef-dec 22 | 23 | rm -rf $perlf $nodef $nodef-dec 24 | done 25 | 26 | echo "all tests passed. good to go." 27 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution 2 | 3 | # Git Flow 4 | 5 | The crypto-js project uses [git flow](https://github.com/nvie/gitflow) to manage branches. 6 | Do your changes on the `develop` or even better on a `feature/*` branch. Don't do any changes on the `master` branch. 7 | 8 | # Pull request 9 | 10 | Target your pull request on `develop` branch. Other pull request won't be accepted. 11 | 12 | # How to build 13 | 14 | 1. Clone 15 | 16 | 2. Run 17 | 18 | ```sh 19 | npm install 20 | ``` 21 | 22 | 3. Run 23 | 24 | ```sh 25 | npm run build 26 | ``` 27 | 28 | 4. Check `build` folder -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/LICENSE: -------------------------------------------------------------------------------- 1 | # License 2 | 3 | [The MIT License (MIT)](http://opensource.org/licenses/MIT) 4 | 5 | Copyright (c) 2009-2013 Jeff Mott 6 | Copyright (c) 2013-2016 Evan Vosberg 7 | 8 | Permission is hereby granted, free of charge, to any person obtaining a copy 9 | of this software and associated documentation files (the "Software"), to deal 10 | in the Software without restriction, including without limitation the rights 11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 12 | copies of the Software, and to permit persons to whom the Software is 13 | furnished to do so, subject to the following conditions: 14 | 15 | The above copyright notice and this permission notice shall be included in 16 | all copies or substantial portions of the Software. 17 | 18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 24 | THE SOFTWARE. 25 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "crypto-js", 3 | "version": "4.0.0", 4 | "description": "JavaScript library of crypto standards.", 5 | "license": "MIT", 6 | "homepage": "http://github.com/brix/crypto-js", 7 | "repository": { 8 | "type": "git", 9 | "url": "http://github.com/brix/crypto-js.git" 10 | }, 11 | "keywords": [ 12 | "security", 13 | "crypto", 14 | "Hash", 15 | "MD5", 16 | "SHA1", 17 | "SHA-1", 18 | "SHA256", 19 | "SHA-256", 20 | "RC4", 21 | "Rabbit", 22 | "AES", 23 | "DES", 24 | "PBKDF2", 25 | "HMAC", 26 | "OFB", 27 | "CFB", 28 | "CTR", 29 | "CBC", 30 | "Base64" 31 | ], 32 | "main": "index.js", 33 | "dependencies": {}, 34 | "ignore": [] 35 | } 36 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/enc-hex.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.enc.Hex; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/enc-latin1.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.enc.Latin1; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/enc-utf8.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.enc.Utf8; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/format-hex.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | (function (undefined) { 17 | // Shortcuts 18 | var C = CryptoJS; 19 | var C_lib = C.lib; 20 | var CipherParams = C_lib.CipherParams; 21 | var C_enc = C.enc; 22 | var Hex = C_enc.Hex; 23 | var C_format = C.format; 24 | 25 | var HexFormatter = C_format.Hex = { 26 | /** 27 | * Converts the ciphertext of a cipher params object to a hexadecimally encoded string. 28 | * 29 | * @param {CipherParams} cipherParams The cipher params object. 30 | * 31 | * @return {string} The hexadecimally encoded string. 32 | * 33 | * @static 34 | * 35 | * @example 36 | * 37 | * var hexString = CryptoJS.format.Hex.stringify(cipherParams); 38 | */ 39 | stringify: function (cipherParams) { 40 | return cipherParams.ciphertext.toString(Hex); 41 | }, 42 | 43 | /** 44 | * Converts a hexadecimally encoded ciphertext string to a cipher params object. 45 | * 46 | * @param {string} input The hexadecimally encoded string. 47 | * 48 | * @return {CipherParams} The cipher params object. 49 | * 50 | * @static 51 | * 52 | * @example 53 | * 54 | * var cipherParams = CryptoJS.format.Hex.parse(hexString); 55 | */ 56 | parse: function (input) { 57 | var ciphertext = Hex.parse(input); 58 | return CipherParams.create({ ciphertext: ciphertext }); 59 | } 60 | }; 61 | }()); 62 | 63 | 64 | return CryptoJS.format.Hex; 65 | 66 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/format-openssl.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.format.OpenSSL; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/hmac-md5.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./md5"), require("./hmac")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./md5", "./hmac"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.HmacMD5; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/hmac-ripemd160.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./ripemd160"), require("./hmac")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./ripemd160", "./hmac"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.HmacRIPEMD160; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/hmac-sha1.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./sha1"), require("./hmac")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./sha1", "./hmac"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.HmacSHA1; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/hmac-sha224.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./sha256"), require("./sha224"), require("./hmac")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./sha256", "./sha224", "./hmac"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.HmacSHA224; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/hmac-sha256.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./sha256"), require("./hmac")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./sha256", "./hmac"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.HmacSHA256; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/hmac-sha3.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./x64-core"), require("./sha3"), require("./hmac")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./x64-core", "./sha3", "./hmac"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.HmacSHA3; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/hmac-sha384.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./x64-core"), require("./sha512"), require("./sha384"), require("./hmac")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./x64-core", "./sha512", "./sha384", "./hmac"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.HmacSHA384; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/hmac-sha512.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./x64-core"), require("./sha512"), require("./hmac")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./x64-core", "./sha512", "./hmac"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.HmacSHA512; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/index.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./x64-core"), require("./lib-typedarrays"), require("./enc-utf16"), require("./enc-base64"), require("./md5"), require("./sha1"), require("./sha256"), require("./sha224"), require("./sha512"), require("./sha384"), require("./sha3"), require("./ripemd160"), require("./hmac"), require("./pbkdf2"), require("./evpkdf"), require("./cipher-core"), require("./mode-cfb"), require("./mode-ctr"), require("./mode-ctr-gladman"), require("./mode-ofb"), require("./mode-ecb"), require("./pad-ansix923"), require("./pad-iso10126"), require("./pad-iso97971"), require("./pad-zeropadding"), require("./pad-nopadding"), require("./format-hex"), require("./aes"), require("./tripledes"), require("./rc4"), require("./rabbit"), require("./rabbit-legacy")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./x64-core", "./lib-typedarrays", "./enc-utf16", "./enc-base64", "./md5", "./sha1", "./sha256", "./sha224", "./sha512", "./sha384", "./sha3", "./ripemd160", "./hmac", "./pbkdf2", "./evpkdf", "./cipher-core", "./mode-cfb", "./mode-ctr", "./mode-ctr-gladman", "./mode-ofb", "./mode-ecb", "./pad-ansix923", "./pad-iso10126", "./pad-iso97971", "./pad-zeropadding", "./pad-nopadding", "./format-hex", "./aes", "./tripledes", "./rc4", "./rabbit", "./rabbit-legacy"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | root.CryptoJS = factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/mode-ctr.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | /** 17 | * Counter block mode. 18 | */ 19 | CryptoJS.mode.CTR = (function () { 20 | var CTR = CryptoJS.lib.BlockCipherMode.extend(); 21 | 22 | var Encryptor = CTR.Encryptor = CTR.extend({ 23 | processBlock: function (words, offset) { 24 | // Shortcuts 25 | var cipher = this._cipher 26 | var blockSize = cipher.blockSize; 27 | var iv = this._iv; 28 | var counter = this._counter; 29 | 30 | // Generate keystream 31 | if (iv) { 32 | counter = this._counter = iv.slice(0); 33 | 34 | // Remove IV for subsequent blocks 35 | this._iv = undefined; 36 | } 37 | var keystream = counter.slice(0); 38 | cipher.encryptBlock(keystream, 0); 39 | 40 | // Increment counter 41 | counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 42 | 43 | // Encrypt 44 | for (var i = 0; i < blockSize; i++) { 45 | words[offset + i] ^= keystream[i]; 46 | } 47 | } 48 | }); 49 | 50 | CTR.Decryptor = Encryptor; 51 | 52 | return CTR; 53 | }()); 54 | 55 | 56 | return CryptoJS.mode.CTR; 57 | 58 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/mode-ecb.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | /** 17 | * Electronic Codebook block mode. 18 | */ 19 | CryptoJS.mode.ECB = (function () { 20 | var ECB = CryptoJS.lib.BlockCipherMode.extend(); 21 | 22 | ECB.Encryptor = ECB.extend({ 23 | processBlock: function (words, offset) { 24 | this._cipher.encryptBlock(words, offset); 25 | } 26 | }); 27 | 28 | ECB.Decryptor = ECB.extend({ 29 | processBlock: function (words, offset) { 30 | this._cipher.decryptBlock(words, offset); 31 | } 32 | }); 33 | 34 | return ECB; 35 | }()); 36 | 37 | 38 | return CryptoJS.mode.ECB; 39 | 40 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/mode-ofb.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | /** 17 | * Output Feedback block mode. 18 | */ 19 | CryptoJS.mode.OFB = (function () { 20 | var OFB = CryptoJS.lib.BlockCipherMode.extend(); 21 | 22 | var Encryptor = OFB.Encryptor = OFB.extend({ 23 | processBlock: function (words, offset) { 24 | // Shortcuts 25 | var cipher = this._cipher 26 | var blockSize = cipher.blockSize; 27 | var iv = this._iv; 28 | var keystream = this._keystream; 29 | 30 | // Generate keystream 31 | if (iv) { 32 | keystream = this._keystream = iv.slice(0); 33 | 34 | // Remove IV for subsequent blocks 35 | this._iv = undefined; 36 | } 37 | cipher.encryptBlock(keystream, 0); 38 | 39 | // Encrypt 40 | for (var i = 0; i < blockSize; i++) { 41 | words[offset + i] ^= keystream[i]; 42 | } 43 | } 44 | }); 45 | 46 | OFB.Decryptor = Encryptor; 47 | 48 | return OFB; 49 | }()); 50 | 51 | 52 | return CryptoJS.mode.OFB; 53 | 54 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "crypto-js", 3 | "version": "4.0.0", 4 | "description": "JavaScript library of crypto standards.", 5 | "license": "MIT", 6 | "author": { 7 | "name": "Evan Vosberg", 8 | "url": "http://github.com/evanvosberg" 9 | }, 10 | "homepage": "http://github.com/brix/crypto-js", 11 | "repository": { 12 | "type": "git", 13 | "url": "http://github.com/brix/crypto-js.git" 14 | }, 15 | "keywords": [ 16 | "security", 17 | "crypto", 18 | "Hash", 19 | "MD5", 20 | "SHA1", 21 | "SHA-1", 22 | "SHA256", 23 | "SHA-256", 24 | "RC4", 25 | "Rabbit", 26 | "AES", 27 | "DES", 28 | "PBKDF2", 29 | "HMAC", 30 | "OFB", 31 | "CFB", 32 | "CTR", 33 | "CBC", 34 | "Base64" 35 | ], 36 | "main": "index.js", 37 | "dependencies": {}, 38 | "__npminstall_done": "Tue Jul 28 2020 10:15:45 GMT+0800 (GMT+08:00)", 39 | "_from": "crypto-js@4.0.0", 40 | "_resolved": "https://registry.npm.taobao.org/crypto-js/download/crypto-js-4.0.0.tgz?cache=0&sync_timestamp=1581509247325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcrypto-js%2Fdownload%2Fcrypto-js-4.0.0.tgz" 41 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/pad-ansix923.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | /** 17 | * ANSI X.923 padding strategy. 18 | */ 19 | CryptoJS.pad.AnsiX923 = { 20 | pad: function (data, blockSize) { 21 | // Shortcuts 22 | var dataSigBytes = data.sigBytes; 23 | var blockSizeBytes = blockSize * 4; 24 | 25 | // Count padding bytes 26 | var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; 27 | 28 | // Compute last byte position 29 | var lastBytePos = dataSigBytes + nPaddingBytes - 1; 30 | 31 | // Pad 32 | data.clamp(); 33 | data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); 34 | data.sigBytes += nPaddingBytes; 35 | }, 36 | 37 | unpad: function (data) { 38 | // Get number of padding bytes from last byte 39 | var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; 40 | 41 | // Remove padding 42 | data.sigBytes -= nPaddingBytes; 43 | } 44 | }; 45 | 46 | 47 | return CryptoJS.pad.Ansix923; 48 | 49 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/pad-iso10126.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | /** 17 | * ISO 10126 padding strategy. 18 | */ 19 | CryptoJS.pad.Iso10126 = { 20 | pad: function (data, blockSize) { 21 | // Shortcut 22 | var blockSizeBytes = blockSize * 4; 23 | 24 | // Count padding bytes 25 | var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; 26 | 27 | // Pad 28 | data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). 29 | concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); 30 | }, 31 | 32 | unpad: function (data) { 33 | // Get number of padding bytes from last byte 34 | var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; 35 | 36 | // Remove padding 37 | data.sigBytes -= nPaddingBytes; 38 | } 39 | }; 40 | 41 | 42 | return CryptoJS.pad.Iso10126; 43 | 44 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/pad-iso97971.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | /** 17 | * ISO/IEC 9797-1 Padding Method 2. 18 | */ 19 | CryptoJS.pad.Iso97971 = { 20 | pad: function (data, blockSize) { 21 | // Add 0x80 byte 22 | data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); 23 | 24 | // Zero pad the rest 25 | CryptoJS.pad.ZeroPadding.pad(data, blockSize); 26 | }, 27 | 28 | unpad: function (data) { 29 | // Remove zero padding 30 | CryptoJS.pad.ZeroPadding.unpad(data); 31 | 32 | // Remove one more byte -- the 0x80 byte 33 | data.sigBytes--; 34 | } 35 | }; 36 | 37 | 38 | return CryptoJS.pad.Iso97971; 39 | 40 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/pad-nopadding.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | /** 17 | * A noop padding strategy. 18 | */ 19 | CryptoJS.pad.NoPadding = { 20 | pad: function () { 21 | }, 22 | 23 | unpad: function () { 24 | } 25 | }; 26 | 27 | 28 | return CryptoJS.pad.NoPadding; 29 | 30 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/pad-pkcs7.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | return CryptoJS.pad.Pkcs7; 17 | 18 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_crypto-js@4.0.0@crypto-js/pad-zeropadding.js: -------------------------------------------------------------------------------- 1 | ;(function (root, factory, undef) { 2 | if (typeof exports === "object") { 3 | // CommonJS 4 | module.exports = exports = factory(require("./core"), require("./cipher-core")); 5 | } 6 | else if (typeof define === "function" && define.amd) { 7 | // AMD 8 | define(["./core", "./cipher-core"], factory); 9 | } 10 | else { 11 | // Global (browser) 12 | factory(root.CryptoJS); 13 | } 14 | }(this, function (CryptoJS) { 15 | 16 | /** 17 | * Zero padding strategy. 18 | */ 19 | CryptoJS.pad.ZeroPadding = { 20 | pad: function (data, blockSize) { 21 | // Shortcut 22 | var blockSizeBytes = blockSize * 4; 23 | 24 | // Pad 25 | data.clamp(); 26 | data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); 27 | }, 28 | 29 | unpad: function (data) { 30 | // Shortcut 31 | var dataWords = data.words; 32 | 33 | // Unpad 34 | var i = data.sigBytes - 1; 35 | for (var i = data.sigBytes - 1; i >= 0; i--) { 36 | if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { 37 | data.sigBytes = i + 1; 38 | break; 39 | } 40 | } 41 | } 42 | }; 43 | 44 | 45 | return CryptoJS.pad.ZeroPadding; 46 | 47 | })); -------------------------------------------------------------------------------- /100js-learn/node_modules/_dom-walk@0.1.2@dom-walk/LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Raynos. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /100js-learn/node_modules/_dom-walk@0.1.2@dom-walk/Makefile: -------------------------------------------------------------------------------- 1 | run: 2 | ./node_modules/.bin/browserify-server --cwd example -------------------------------------------------------------------------------- /100js-learn/node_modules/_dom-walk@0.1.2@dom-walk/README.md: -------------------------------------------------------------------------------- 1 | # dom-walk 2 | 3 | iteratively walk a DOM node 4 | 5 | ## Example 6 | 7 | ``` js 8 | var walk = require("dom-walk") 9 | 10 | walk(document.body.childNodes, function (node) { 11 | console.log("node", node) 12 | }) 13 | ``` 14 | 15 | ## Installation 16 | 17 | `npm install dom-walk` 18 | 19 | ## Contributors 20 | 21 | - Raynos 22 | 23 | ## MIT Licenced -------------------------------------------------------------------------------- /100js-learn/node_modules/_dom-walk@0.1.2@dom-walk/example/index.js: -------------------------------------------------------------------------------- 1 | var walk = require("../index") 2 | 3 | walk(document, function (node) { 4 | console.log("node", node) 5 | }) 6 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_dom-walk@0.1.2@dom-walk/index.js: -------------------------------------------------------------------------------- 1 | var slice = Array.prototype.slice 2 | 3 | module.exports = iterativelyWalk 4 | 5 | function iterativelyWalk(nodes, cb) { 6 | if (!('length' in nodes)) { 7 | nodes = [nodes] 8 | } 9 | 10 | nodes = slice.call(nodes) 11 | 12 | while(nodes.length) { 13 | var node = nodes.shift(), 14 | ret = cb(node) 15 | 16 | if (ret) { 17 | return ret 18 | } 19 | 20 | if (node.childNodes && node.childNodes.length) { 21 | nodes = slice.call(node.childNodes).concat(nodes) 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_dom-walk@0.1.2@dom-walk/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "dom-walk", 3 | "version": "0.1.2", 4 | "description": "iteratively walk a DOM node", 5 | "keywords": [], 6 | "author": "Raynos ", 7 | "repository": "git://github.com/Raynos/dom-walk.git", 8 | "main": "index", 9 | "homepage": "https://github.com/Raynos/dom-walk", 10 | "contributors": [ 11 | { 12 | "name": "Jake Verbaten" 13 | } 14 | ], 15 | "bugs": { 16 | "url": "https://github.com/Raynos/dom-walk/issues", 17 | "email": "raynos2@gmail.com" 18 | }, 19 | "dependencies": {}, 20 | "devDependencies": { 21 | "budo": "11.6.3" 22 | }, 23 | "licenses": [ 24 | { 25 | "type": "MIT", 26 | "url": "http://github.com/Raynos/dom-walk/raw/master/LICENSE" 27 | } 28 | ], 29 | "scripts": { 30 | "example": "budo example/index.js" 31 | }, 32 | "__npminstall_done": "Wed Aug 19 2020 16:25:28 GMT+0800 (GMT+08:00)", 33 | "_from": "dom-walk@0.1.2", 34 | "_resolved": "https://registry.npm.taobao.org/dom-walk/download/dom-walk-0.1.2.tgz?cache=0&sync_timestamp=1585903908305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdom-walk%2Fdownload%2Fdom-walk-0.1.2.tgz" 35 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_get-random-values@1.2.0@get-random-values/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright 2014–2016 Kenan Yildirim 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of 4 | this software and associated documentation files (the "Software"), to deal in 5 | the Software without restriction, including without limitation the rights to 6 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 7 | the Software, and to permit persons to whom the Software is furnished to do so, 8 | subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 15 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 16 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 17 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 18 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_get-random-values@1.2.0@get-random-values/README.md: -------------------------------------------------------------------------------- 1 | # get-random-values 2 | 3 | [![Build Status](https://img.shields.io/travis/KenanY/get-random-values.svg)](https://travis-ci.org/KenanY/get-random-values) 4 | [![Dependency Status](https://img.shields.io/gemnasium/KenanY/get-random-values.svg)](https://gemnasium.com/KenanY/get-random-values) 5 | 6 | `window.crypto.getRandomValues` or `window.msCrypto.getRandomValues` or 7 | `require('crypto').randomBytes` or an _Error_. 8 | 9 | ## Example 10 | 11 | ``` javascript 12 | var getRandomValues = require('get-random-values'); 13 | 14 | var array = new Uint32Array(10); 15 | getRandomValues(array); 16 | // => [ 17 | // => 183, 18 | // => 76, 19 | // => 18, 20 | // => 177, 21 | // => 73, 22 | // => 9, 23 | // => 50, 24 | // => 248, 25 | // => 216, 26 | // => 104 27 | // => ] 28 | ``` 29 | 30 | ## Installation 31 | 32 | ``` bash 33 | $ npm install get-random-values 34 | ``` 35 | 36 | ## API 37 | 38 | ``` javascript 39 | var getRandomValues = require('get-random-values'); 40 | ``` 41 | 42 | ### `getRandomValues(buf)` 43 | 44 | Fills integer-based _TypedArray_ `buf` with cryptographically random numbers. 45 | Checks for and uses the first of the following: 46 | 47 | - `window.crypto.getRandomValues` 48 | - `window.msCrypto.getRandomValues` 49 | - Node.js crypto 50 | 51 | If none of the above are available, then an _Error_ is thrown. 52 | 53 | Throws _QuotaExceededError_ if `buf.length > 65536` (even if Node.js crypto, 54 | which doesn't have that limit, is being used). 55 | 56 | `buf` **must** be a _Uint8Array_ if Node.js crypto is used, otherwise a 57 | _TypeError_ will be thrown. 58 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_get-random-values@1.2.0@get-random-values/index.js: -------------------------------------------------------------------------------- 1 | var window = require('global/window'); 2 | var nodeCrypto = require('crypto'); 3 | 4 | function getRandomValues(buf) { 5 | if (window.crypto && window.crypto.getRandomValues) { 6 | return window.crypto.getRandomValues(buf); 7 | } 8 | if (typeof window.msCrypto === 'object' && typeof window.msCrypto.getRandomValues === 'function') { 9 | return window.msCrypto.getRandomValues(buf); 10 | } 11 | if (nodeCrypto.randomBytes) { 12 | if (!(buf instanceof Uint8Array)) { 13 | throw new TypeError('expected Uint8Array'); 14 | } 15 | if (buf.length > 65536) { 16 | var e = new Error(); 17 | e.code = 22; 18 | e.message = 'Failed to execute \'getRandomValues\' on \'Crypto\': The ' + 19 | 'ArrayBufferView\'s byte length (' + buf.length + ') exceeds the ' + 20 | 'number of bytes of entropy available via this API (65536).'; 21 | e.name = 'QuotaExceededError'; 22 | throw e; 23 | } 24 | var bytes = nodeCrypto.randomBytes(buf.length); 25 | buf.set(bytes); 26 | return buf; 27 | } 28 | else { 29 | throw new Error('No secure random number generator available.'); 30 | } 31 | } 32 | 33 | module.exports = getRandomValues; 34 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_get-random-values@1.2.0@get-random-values/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "get-random-values", 3 | "version": "1.2.0", 4 | "description": "`window.crypto.getRandomValues` with fallback to Node.js crypto", 5 | "keywords": [ 6 | "crypto" 7 | ], 8 | "repository": "KenanY/get-random-values", 9 | "license": "MIT", 10 | "author": "Kenan Yildirim (http://kenany.me/)", 11 | "main": "index.js", 12 | "files": [ 13 | "index.js", 14 | "LICENSE.txt" 15 | ], 16 | "directories": { 17 | "test": "test" 18 | }, 19 | "scripts": { 20 | "test": "tape test/*.js" 21 | }, 22 | "dependencies": { 23 | "global": "^4.2.1" 24 | }, 25 | "devDependencies": { 26 | "is-browser": "^2.0.1", 27 | "lodash.foreach": "^3.0.3", 28 | "lodash.isfunction": "^3.0.6", 29 | "tape": "^4.4.0" 30 | }, 31 | "browser": { 32 | "crypto": false 33 | }, 34 | "__npminstall_done": "Wed Aug 19 2020 16:25:26 GMT+0800 (GMT+08:00)", 35 | "_from": "get-random-values@1.2.0", 36 | "_resolved": "https://registry.npm.taobao.org/get-random-values/download/get-random-values-1.2.0.tgz" 37 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_global@4.4.0@global/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - 0.9 5 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_global@4.4.0@global/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Colingo. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_global@4.4.0@global/README.md: -------------------------------------------------------------------------------- 1 | # global 2 | 3 | 6 | 7 | Require global variables 8 | 9 | ## Example 10 | 11 | ```js 12 | var global = require("global") 13 | var document = require("global/document") 14 | var window = require("global/window") 15 | ``` 16 | 17 | ## Installation 18 | 19 | `npm install global` 20 | 21 | ## Contributors 22 | 23 | - Raynos 24 | 25 | ## MIT Licenced 26 | 27 | [1]: https://secure.travis-ci.org/Colingo/global.png 28 | [2]: http://travis-ci.org/Colingo/global 29 | [3]: http://ci.testling.com/Colingo/global.png 30 | [4]: http://ci.testling.com/Colingo/global 31 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_global@4.4.0@global/console.js: -------------------------------------------------------------------------------- 1 | module.exports = console; 2 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_global@4.4.0@global/document.js: -------------------------------------------------------------------------------- 1 | var topLevel = typeof global !== 'undefined' ? global : 2 | typeof window !== 'undefined' ? window : {} 3 | var minDoc = require('min-document'); 4 | 5 | var doccy; 6 | 7 | if (typeof document !== 'undefined') { 8 | doccy = document; 9 | } else { 10 | doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4']; 11 | 12 | if (!doccy) { 13 | doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDoc; 14 | } 15 | } 16 | 17 | module.exports = doccy; 18 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_global@4.4.0@global/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "global", 3 | "version": "4.4.0", 4 | "description": "Require global variables", 5 | "keywords": [], 6 | "author": "Raynos ", 7 | "repository": "git://github.com/Raynos/global.git", 8 | "main": "window.js", 9 | "homepage": "https://github.com/Raynos/global", 10 | "contributors": [ 11 | { 12 | "name": "Raynos" 13 | } 14 | ], 15 | "bugs": { 16 | "url": "https://github.com/Raynos/global/issues", 17 | "email": "raynos2@gmail.com" 18 | }, 19 | "browser": { 20 | "min-document": false, 21 | "individual": false 22 | }, 23 | "dependencies": { 24 | "min-document": "^2.19.0", 25 | "process": "^0.11.10" 26 | }, 27 | "devDependencies": { 28 | "tape": "^2.12.0" 29 | }, 30 | "license": "MIT", 31 | "scripts": { 32 | "test": "node ./test", 33 | "build": "browserify test/index.js -o test/static/bundle.js", 34 | "testem": "testem" 35 | }, 36 | "testling": { 37 | "files": "test/index.js", 38 | "browsers": { 39 | "ie": [ 40 | "8", 41 | "9", 42 | "10" 43 | ], 44 | "firefox": [ 45 | "16", 46 | "17", 47 | "nightly" 48 | ], 49 | "chrome": [ 50 | "22", 51 | "23", 52 | "canary" 53 | ], 54 | "opera": [ 55 | "12", 56 | "next" 57 | ], 58 | "safari": [ 59 | "5.1" 60 | ] 61 | } 62 | }, 63 | "__npminstall_done": "Wed Aug 19 2020 16:25:27 GMT+0800 (GMT+08:00)", 64 | "_from": "global@4.4.0", 65 | "_resolved": "https://registry.npm.taobao.org/global/download/global-4.4.0.tgz" 66 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_global@4.4.0@global/process.js: -------------------------------------------------------------------------------- 1 | module.exports = require('process'); 2 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_global@4.4.0@global/window.js: -------------------------------------------------------------------------------- 1 | var win; 2 | 3 | if (typeof window !== "undefined") { 4 | win = window; 5 | } else if (typeof global !== "undefined") { 6 | win = global; 7 | } else if (typeof self !== "undefined"){ 8 | win = self; 9 | } else { 10 | win = {}; 11 | } 12 | 13 | module.exports = win; 14 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/.idea/.name: -------------------------------------------------------------------------------- 1 | jsencrypt -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/.idea/jsencrypt.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'github-pages', group: :jekyll_plugins -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/.gitattributes: -------------------------------------------------------------------------------- 1 | # Enforce Unix newlines 2 | *.js text eol=lf 3 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "node" 4 | branches: 5 | only: 6 | - master 7 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/banner.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const pkg = require('./package.json'); 3 | const filename = 'anchor.min.js'; 4 | const script = fs.readFileSync(filename); 5 | const padStart = str => ('0' + str).slice(-2) 6 | const dateObj = new Date; 7 | const date = `${dateObj.getFullYear()}-${padStart(dateObj.getMonth() + 1)}-${padStart(dateObj.getDate())}`; 8 | const banner = `/** 9 | * AnchorJS - v${pkg.version} - ${date} 10 | * ${pkg.homepage} 11 | * Copyright (c) ${dateObj.getFullYear()} Bryan Braun; Licensed ${pkg.license} 12 | */ 13 | `; 14 | 15 | if (script.slice(0, 3) != '/**') { 16 | fs.writeFileSync(filename, banner + script); 17 | } 18 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/favicon.ico -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.eot -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.ttf -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/fonts/anchorjs-extras.woff -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/fonts/fonts.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'anchorjs-extras'; 3 | src:url('anchorjs-extras.eot?-qcq09q'); 4 | src:url('anchorjs-extras.eot?#iefix-qcq09q') format('embedded-opentype'), 5 | url('anchorjs-extras.woff?-qcq09q') format('woff'), 6 | url('anchorjs-extras.ttf?-qcq09q') format('truetype'), 7 | url('anchorjs-extras.svg?-qcq09q#anchorjs-extras') format('svg'); 8 | font-weight: normal; 9 | font-style: normal; 10 | } 11 | 12 | [class^="ajs-"], [class*=" ajs-"] { 13 | font-family: 'anchorjs-extras'; 14 | speak: none; 15 | font-style: normal; 16 | font-weight: normal; 17 | font-variant: normal; 18 | text-transform: none; 19 | line-height: 1; 20 | 21 | /* Better Font Rendering =========== */ 22 | -webkit-font-smoothing: antialiased; 23 | -moz-osx-font-smoothing: grayscale; 24 | } 25 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/grunticon/icons.data.png.css: -------------------------------------------------------------------------------- 1 | 2 | .icon-grunticon-link { 3 | background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABuklEQVQ4T52U4VnCMBiE71hAnECcgLCBblBYAJxANgAmEDfABWg3kA2IE6ATWBbo+XwplLaWguZnm765fncX4h9LkesC6DHxvv45/8JT5CIQLyB74TspBbFChgUTn9qjq4EauhXIMYA9pBWIFKId0IfkITwa9CpgARM+ID0c1QSRIzcHOIP0ythPLwLbYMdxaTjwgO4Y+9uLwKAicjaztKysPPtCZab7VqAi9wBSkPZNjp4UuiXIZ2RqVqiRm0KYgbR45Csf/FMdHCJE7EDuud72fiksufkFaIkMnyBM6QSSDm6G/B1g7yAdMg2Z+KQCbHUzcg4dbiwy5mYFJr0x9pNKDptgGrolgHFZ1S9lJVgBDA3oMEYtZzqpEogEQgLCQZiEttRgJ+Bo8Amgi0zWz1ChwguDktaMfunxHtCca29/UFkMs+jw+5j0c90Oau1Q62viN+f2GdCGvQW04NrPmzYebpcuE29/0rqCyxoNUkg7xn5Q333OzbMKA9DctKTnc1mU5mehzXPWYEATNFcY0s5NcRWZozav3M3utbBqDvMKzUMjgJvD6V/INLUGXJrd8X3j5XDpdmmD/wAyTxBSftthKwAAAABJRU5ErkJggg=='); 4 | background-repeat: no-repeat; 5 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/grunticon/icons.data.svg.css: -------------------------------------------------------------------------------- 1 | 2 | .icon-grunticon-link { 3 | background-image: url('data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3C%21--%20Generated%20by%20IcoMoon.io%20--%3E%0A%3C%21DOCTYPE%20svg%20PUBLIC%20%22-//W3C//DTD%20SVG%201.1//EN%22%20%22http%3A//www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd%22%3E%0A%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20xmlns%3Axlink%3D%22http%3A//www.w3.org/1999/xlink%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%20768%20768%22%3E%0A%20%20%3Cg%20fill%3D%22%23FF5231%22%3E%0A%20%20%20%20%3Cpath%20d%3D%22M544%2032q37.75%200%2072.875%2014.25t62.875%2042%2042%2062.875%2014.25%2072.875q0%2037.5-14.375%2072.875t-41.875%2062.875l-96%2096q-2.75%202.75-8.25%207.75-26.75%2023.75-59.75%2036.125t-67.75%2012.375q-43.75%200-82.75-18.75-29.25-13.75-53-37.5t-37.5-53q18.75-18.75%2045.25-18.75%209.25%200%2018.75%202.75%2016.25%2026.25%2042.5%2042.5%2030.75%2018.75%2066.75%2018.75%2025%200%2048.5-9.5t42-28l96-96q18.5-18.5%2028-42t9.5-48.5-9.5-48.5-28-42-42-28-48.5-9.5-48.5%209.5-42%2028l-67.25%2067.25q-32-8.75-66.25-8.75-5.5%200-15.5%200.5%205-5.5%207.75-8.25l96-96q27.5-27.5%2062.875-41.875t72.875-14.375zM320%20256q43.75%200%2082.75%2018.75%2029.25%2013.75%2053%2037.5t37.5%2053q-18.75%2018.75-45.25%2018.75-9.25%200-18.75-2.75-16.25-26.25-42.5-42.5-30.75-18.75-66.75-18.75-25%200-48.5%209.5t-42%2028l-96%2096q-18.5%2018.5-28%2042t-9.5%2048.5%209.5%2048.5%2028%2042%2042%2028%2048.5%209.5%2048.5-9.5%2042-28l67.25-67.25q32%208.75%2066.25%208.75%205.5%200%2015.5-0.5-5%205.5-7.75%208.25l-96%2096q-27.75%2027.75-62.875%2042t-72.875%2014.25q-37.5%200-72.875-14.375t-62.875-41.875q-27.75-27.75-42-62.875t-14.25-72.875%2014.25-72.875%2042-62.875l96-96q2.75-2.75%208.25-7.75%2026.75-23.75%2059.75-36.125t67.75-12.375z%22%3E%3C/path%3E%0A%20%20%3C/g%3E%0A%3C/svg%3E%0A'); 4 | background-repeat: no-repeat; 5 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/grunticon/icons.fallback.css: -------------------------------------------------------------------------------- 1 | 2 | .icon-grunticon-link { 3 | background-image: url('png/grunticon-link.png'); 4 | background-repeat: no-repeat; 5 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/grunticon/png/grunticon-link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/grunticon/png/grunticon-link.png -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/anchoring-links.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/anchoring-links.png -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/anchorjs_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/anchorjs_logo.png -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/anchorlinks2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/anchorlinks2.png -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/gh-link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/gh_link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/hyperlink.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/mini-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/mini-logo.png -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/primer-md.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/img/primer-md.png -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/assets/javascript/anchor-js/docs/scripts.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | var preEls = $('pre'); 3 | 4 | $('.example-code-link').click(function(e) { 5 | e.preventDefault(); 6 | $(this).parent().next().slideToggle(); 7 | }); 8 | 9 | // Dynamically add PrismJS class for syntax highlight 10 | preEls.filter('[class*="js"]').find('code').addClass('language-javascript'); 11 | preEls.filter('.css').find('code').addClass('language-css'); 12 | }); 13 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jsencrypt", 3 | "version": "3.0.0-rc.1", 4 | "description": "A Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.", 5 | "license": "MIT", 6 | "main": "bin/jsencrypt.js", 7 | "scripts": { 8 | "prepublish": "node_modules/gulp/bin/gulp.js" 9 | }, 10 | "contributors": [ 11 | { 12 | "name": "Travis Tidwell", 13 | "email": "travis@form.io", 14 | "url": "http://github.com/travist" 15 | }, 16 | { 17 | "name": "Antonio", 18 | "url": "https://github.com/zoloft" 19 | }, 20 | { 21 | "name": "Julio", 22 | "url": "https://github.com/jmgaya" 23 | } 24 | ], 25 | "homepage": "http://www.travistidwell.com/jsencrypt", 26 | "repository": { 27 | "type": "git", 28 | "url": "git://github.com/travist/jsencrypt.git" 29 | }, 30 | "bugs": { 31 | "url": "http://github.com/travist/jsencrypt/issues" 32 | }, 33 | "devDependencies": { 34 | "expect.js": "^0.3.1", 35 | "gulp": "^3.9.1", 36 | "gulp-concat": "^2.6.1", 37 | "gulp-copy": "^1.0.1", 38 | "gulp-eslint": "^4.0.2", 39 | "gulp-insert": "^0.5.0", 40 | "gulp-rename": "^1.2.2", 41 | "gulp-tslint": "^8.1.2", 42 | "gulp-typescript": "^4.0.1", 43 | "gulp-uglify": "^3.0.0", 44 | "gulp-watch": "^5.0.0", 45 | "gulp-wrap": "^0.13.0", 46 | "mocha": "^5.0.1", 47 | "rollup": "^0.56.1", 48 | "rollup-plugin-node-resolve": "^3.0.0", 49 | "rollup-plugin-replace": "^2.0.0", 50 | "rollup-plugin-uglify": "^3.0.0", 51 | "ts-loader": "^3.2.0", 52 | "tslib": "^1.8.1", 53 | "tslint": "^5.8.0", 54 | "typescript": "^2.6.2", 55 | "webpack": "^3.10.0" 56 | }, 57 | "dependencies": {}, 58 | "typings": "declarations/src/index.d.ts" 59 | } 60 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/rollup.config.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const resolve = require('rollup-plugin-node-resolve'); 3 | const uglify = require('rollup-plugin-uglify'); 4 | const replace = require('rollup-plugin-replace'); 5 | const pkg = require('./package.json'); 6 | 7 | var plugins = [ 8 | resolve(), 9 | // uglify({ 10 | // mangle: true, 11 | // warnings: true, 12 | // output: { 13 | // beautify: false, 14 | // }, 15 | // compress: { 16 | // join_vars: true, 17 | // if_return: true, 18 | // properties: true, 19 | // conditionals: true, 20 | // warnings: true, 21 | // dead_code: true, 22 | // drop_console: true, 23 | // drop_debugger: true, 24 | // } 25 | // }), 26 | replace({ 27 | 'JSENCRYPT_VERSION': JSON.stringify(pkg.version) 28 | }) 29 | 30 | ]; 31 | 32 | 33 | module.exports = { 34 | input: "./src/index.js", 35 | plugins: plugins, 36 | name: "JSEncrypt", 37 | output: { 38 | file: pkg.main, 39 | format: 'umd', 40 | name: "JSEncrypt", 41 | exports: "named" 42 | }, 43 | // { file: pkg.module, format: 'es' } 44 | 45 | 46 | }; 47 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "esnext", 4 | "target": "es5", 5 | "lib": [ "es2015.promise", "es5", "dom", "scripthost", "es2015.iterable" ], 6 | "sourceMap": true, 7 | "jsx": "react", 8 | "experimentalDecorators": true, 9 | "declaration": true, 10 | "declarationDir": "./declarations", 11 | "noImplicitAny": true, 12 | "noUnusedLocals": true, 13 | "strictNullChecks": false, 14 | "importHelpers": true, 15 | "noEmitHelpers": true, 16 | "allowSyntheticDefaultImports": true, 17 | "moduleResolution": "node", 18 | "typeRoots": [ 19 | "node_modules/@types" 20 | ] 21 | }, 22 | "exclude": [ 23 | "node_modules", 24 | "_site", 25 | "declarations" 26 | ], 27 | "baseUrl": "." 28 | } 29 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:recommended", 3 | "rules": { 4 | "no-consecutive-blank-lines": [ 5 | true, 6 | 2 7 | ], 8 | "ordered-imports": false, 9 | "no-bitwise": false, 10 | "triple-equals": false, 11 | "no-empty": false, 12 | "no-console": false, 13 | "no-conditional-assignment": false, 14 | "typedef-whitespace": { 15 | "options": [ 16 | { 17 | "call-signature": "nospace", 18 | "index-signature": "nospace", 19 | "parameter": "nospace", 20 | "property-declaration": "nospace", 21 | "variable-declaration": "nospace" 22 | }, 23 | { 24 | "call-signature": "nospace", 25 | "index-signature": "nospace", 26 | "parameter": "nospace", 27 | "property-declaration": "nospace", 28 | "variable-declaration": "nospace" 29 | } 30 | ] 31 | }, 32 | "whitespace": { 33 | "options": [ 34 | "check-branch", 35 | "check-decl", 36 | "check-operator", 37 | "check-separator", 38 | "check-typecast" 39 | ] 40 | }, 41 | "max-classes-per-file": false, 42 | "trailing-comma": { 43 | "options": { 44 | "singleline": "never" 45 | } 46 | }, 47 | "variable-name": { 48 | "options": [ 49 | "ban-keywords", 50 | "allow-snake-case" 51 | ] 52 | }, 53 | "member-ordering": false, 54 | "max-line-length": false, 55 | "object-literal-sort-keys": false, 56 | "only-arrow-functions": false, 57 | "space-before-function-paren": { 58 | "options": { 59 | "anonymous": "always", 60 | "asyncArrow": "always", 61 | "constructor": "never", 62 | "method": "never", 63 | "named": "never" 64 | } 65 | }, 66 | "prefer-for-of": false 67 | } 68 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/_site/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | var modules_path = path.resolve(__dirname, './bin'); 3 | 4 | 5 | 6 | module.exports = { 7 | target: 'web', 8 | // devtool: 'inline-source-map', 9 | entry: './src/JSEncrypt.ts', 10 | output: { 11 | filename: 'jsencrypt.js', 12 | chunkFilename: 'modules/[chunkhash].[name].chunk.js', 13 | path: modules_path, 14 | strictModuleExceptionHandling: true 15 | }, 16 | 17 | resolve: { 18 | // Add `.ts` and `.tsx` as a resolvable extension. 19 | extensions: ['.ts', '.tsx', '.js'] 20 | }, 21 | module: { 22 | rules: [ 23 | // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` 24 | { 25 | test: /\.tsx?$/, 26 | use: [ 27 | { 28 | loader: 'ts-loader', 29 | options: { 30 | transpileOnly: false, 31 | configFile: require.resolve("./tsconfig.json") 32 | } 33 | }, 34 | ] 35 | }, 36 | ] 37 | }, 38 | 39 | }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jsencrypt", 3 | "version": "3.0.0-rc.1", 4 | "description": "A Javascript library to perform OpenSSL RSA Encryption, Decryption, and Key Generation.", 5 | "license": "MIT", 6 | "main": "bin/jsencrypt.js", 7 | "scripts": { 8 | "prepublish": "node_modules/gulp/bin/gulp.js" 9 | }, 10 | "contributors": [ 11 | { 12 | "name": "Travis Tidwell", 13 | "email": "travis@form.io", 14 | "url": "http://github.com/travist" 15 | }, 16 | { 17 | "name": "Antonio", 18 | "url": "https://github.com/zoloft" 19 | }, 20 | { 21 | "name": "Julio", 22 | "url": "https://github.com/jmgaya" 23 | } 24 | ], 25 | "homepage": "http://www.travistidwell.com/jsencrypt", 26 | "repository": { 27 | "type": "git", 28 | "url": "git://github.com/travist/jsencrypt.git" 29 | }, 30 | "bugs": { 31 | "url": "http://github.com/travist/jsencrypt/issues" 32 | }, 33 | "devDependencies": { 34 | "expect.js": "^0.3.1", 35 | "gulp": "^3.9.1", 36 | "gulp-concat": "^2.6.1", 37 | "gulp-copy": "^1.0.1", 38 | "gulp-eslint": "^4.0.2", 39 | "gulp-insert": "^0.5.0", 40 | "gulp-rename": "^1.2.2", 41 | "gulp-tslint": "^8.1.2", 42 | "gulp-typescript": "^4.0.1", 43 | "gulp-uglify": "^3.0.0", 44 | "gulp-watch": "^5.0.0", 45 | "gulp-wrap": "^0.13.0", 46 | "mocha": "^5.0.1", 47 | "rollup": "^0.56.1", 48 | "rollup-plugin-node-resolve": "^3.0.0", 49 | "rollup-plugin-replace": "^2.0.0", 50 | "rollup-plugin-uglify": "^3.0.0", 51 | "ts-loader": "^3.2.0", 52 | "tslib": "^1.8.1", 53 | "tslint": "^5.8.0", 54 | "typescript": "^2.6.2", 55 | "webpack": "^3.10.0" 56 | }, 57 | "dependencies": {}, 58 | "typings": "declarations/src/index.d.ts", 59 | "__npminstall_done": "Tue Aug 18 2020 12:51:00 GMT+0800 (GMT+08:00)", 60 | "_from": "jsencrypt@3.0.0-rc.1", 61 | "_resolved": "https://registry.npm.taobao.org/jsencrypt/download/jsencrypt-3.0.0-rc.1.tgz" 62 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/rollup.config.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const resolve = require('rollup-plugin-node-resolve'); 3 | const uglify = require('rollup-plugin-uglify'); 4 | const replace = require('rollup-plugin-replace'); 5 | const pkg = require('./package.json'); 6 | 7 | var plugins = [ 8 | resolve(), 9 | // uglify({ 10 | // mangle: true, 11 | // warnings: true, 12 | // output: { 13 | // beautify: false, 14 | // }, 15 | // compress: { 16 | // join_vars: true, 17 | // if_return: true, 18 | // properties: true, 19 | // conditionals: true, 20 | // warnings: true, 21 | // dead_code: true, 22 | // drop_console: true, 23 | // drop_debugger: true, 24 | // } 25 | // }), 26 | replace({ 27 | 'JSENCRYPT_VERSION': JSON.stringify(pkg.version) 28 | }) 29 | 30 | ]; 31 | 32 | 33 | module.exports = { 34 | input: "./src/index.js", 35 | plugins: plugins, 36 | name: "JSEncrypt", 37 | output: { 38 | file: pkg.main, 39 | format: 'umd', 40 | name: "JSEncrypt", 41 | exports: "named" 42 | }, 43 | // { file: pkg.module, format: 'es' } 44 | 45 | 46 | }; 47 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "esnext", 4 | "target": "es5", 5 | "lib": [ "es2015.promise", "es5", "dom", "scripthost", "es2015.iterable" ], 6 | "sourceMap": true, 7 | "jsx": "react", 8 | "experimentalDecorators": true, 9 | "declaration": true, 10 | "declarationDir": "./declarations", 11 | "noImplicitAny": true, 12 | "noUnusedLocals": true, 13 | "strictNullChecks": false, 14 | "importHelpers": true, 15 | "noEmitHelpers": true, 16 | "allowSyntheticDefaultImports": true, 17 | "moduleResolution": "node", 18 | "typeRoots": [ 19 | "node_modules/@types" 20 | ] 21 | }, 22 | "exclude": [ 23 | "node_modules", 24 | "_site", 25 | "declarations" 26 | ], 27 | "baseUrl": "." 28 | } 29 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:recommended", 3 | "rules": { 4 | "no-consecutive-blank-lines": [ 5 | true, 6 | 2 7 | ], 8 | "ordered-imports": false, 9 | "no-bitwise": false, 10 | "triple-equals": false, 11 | "no-empty": false, 12 | "no-console": false, 13 | "no-conditional-assignment": false, 14 | "typedef-whitespace": { 15 | "options": [ 16 | { 17 | "call-signature": "nospace", 18 | "index-signature": "nospace", 19 | "parameter": "nospace", 20 | "property-declaration": "nospace", 21 | "variable-declaration": "nospace" 22 | }, 23 | { 24 | "call-signature": "nospace", 25 | "index-signature": "nospace", 26 | "parameter": "nospace", 27 | "property-declaration": "nospace", 28 | "variable-declaration": "nospace" 29 | } 30 | ] 31 | }, 32 | "whitespace": { 33 | "options": [ 34 | "check-branch", 35 | "check-decl", 36 | "check-operator", 37 | "check-separator", 38 | "check-typecast" 39 | ] 40 | }, 41 | "max-classes-per-file": false, 42 | "trailing-comma": { 43 | "options": { 44 | "singleline": "never" 45 | } 46 | }, 47 | "variable-name": { 48 | "options": [ 49 | "ban-keywords", 50 | "allow-snake-case" 51 | ] 52 | }, 53 | "member-ordering": false, 54 | "max-line-length": false, 55 | "object-literal-sort-keys": false, 56 | "only-arrow-functions": false, 57 | "space-before-function-paren": { 58 | "options": { 59 | "anonymous": "always", 60 | "asyncArrow": "always", 61 | "constructor": "never", 62 | "method": "never", 63 | "named": "never" 64 | } 65 | }, 66 | "prefer-for-of": false 67 | } 68 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_jsencrypt@3.0.0-rc.1@jsencrypt/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | var modules_path = path.resolve(__dirname, './bin'); 3 | 4 | 5 | 6 | module.exports = { 7 | target: 'web', 8 | // devtool: 'inline-source-map', 9 | entry: './src/JSEncrypt.ts', 10 | output: { 11 | filename: 'jsencrypt.js', 12 | chunkFilename: 'modules/[chunkhash].[name].chunk.js', 13 | path: modules_path, 14 | strictModuleExceptionHandling: true 15 | }, 16 | 17 | resolve: { 18 | // Add `.ts` and `.tsx` as a resolvable extension. 19 | extensions: ['.ts', '.tsx', '.js'] 20 | }, 21 | module: { 22 | rules: [ 23 | // all files with a `.ts` or `.tsx` extension will be handled by `ts-loader` 24 | { 25 | test: /\.tsx?$/, 26 | use: [ 27 | { 28 | loader: 'ts-loader', 29 | options: { 30 | transpileOnly: false, 31 | configFile: require.resolve("./tsconfig.json") 32 | } 33 | }, 34 | ] 35 | }, 36 | ] 37 | }, 38 | 39 | }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/.idea/.name: -------------------------------------------------------------------------------- 1 | node-md5 -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/.idea/node-md5.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/.npmignore: -------------------------------------------------------------------------------- 1 | # Created by .gitignore support plugin (hsz.mobi) 2 | ### Node template 3 | # Logs 4 | logs 5 | *.log 6 | 7 | # Runtime data 8 | pids 9 | *.pid 10 | *.seed 11 | 12 | # Directory for instrumented libs generated by jscoverage/JSCover 13 | lib-cov 14 | 15 | # Coverage directory used by tools like istanbul 16 | coverage 17 | 18 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 19 | .grunt 20 | 21 | # node-waf configuration 22 | .lock-wscript 23 | 24 | # Compiled binary addons (http://nodejs.org/api/addons.html) 25 | build/Release 26 | 27 | # Dependency directory 28 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git- 29 | node_modules 30 | 31 | 32 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "md5-node", 3 | "version": "1.0.1", 4 | "description": "node library for md5", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/shanelau/node-md5.git" 12 | }, 13 | "keywords": [ 14 | "md5", 15 | "nodejs" 16 | ], 17 | "author": "shanelau ", 18 | "license": "ISC", 19 | "bugs": { 20 | "url": "https://github.com/shanelau/node-md5/issues" 21 | }, 22 | "homepage": "https://github.com/shanelau/node-md5", 23 | "__npminstall_done": "Sat Aug 22 2020 16:42:11 GMT+0800 (GMT+08:00)", 24 | "_from": "md5-node@1.0.1", 25 | "_resolved": "https://registry.npm.taobao.org/md5-node/download/md5-node-1.0.1.tgz" 26 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_md5-node@1.0.1@md5-node/readme.md: -------------------------------------------------------------------------------- 1 | md5 for nodejs 2 | 3 | ### project is base on https://github.com/blueimp/JavaScript-MD5/tree/master/js 4 | 5 | 6 | ##usage 7 | 8 | ``` 9 | var md5 = require('node-md5'); 10 | md5('hello world'); 11 | // 5eb63bbbe01eeed093cb22bb8f5acdc3 12 | ``` -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "maxdepth": 4, 3 | "maxstatements": 200, 4 | "maxcomplexity": 12, 5 | "maxlen": 80, 6 | "maxparams": 5, 7 | 8 | "curly": true, 9 | "eqeqeq": true, 10 | "immed": true, 11 | "latedef": false, 12 | "noarg": true, 13 | "noempty": true, 14 | "nonew": true, 15 | "undef": true, 16 | "unused": "vars", 17 | "trailing": true, 18 | 19 | "quotmark": true, 20 | "expr": true, 21 | "asi": true, 22 | 23 | "browser": false, 24 | "esnext": true, 25 | "devel": false, 26 | "node": false, 27 | "nonstandard": false, 28 | 29 | "predef": ["require", "module", "__dirname", "__filename"] 30 | } 31 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/.npmignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .monitor 3 | .*.swp 4 | .nodemonignore 5 | releases 6 | *.log 7 | *.err 8 | fleet.json 9 | public/browserify 10 | bin/*.json 11 | .bin 12 | build 13 | compile 14 | .lock-wscript 15 | node_modules 16 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/.testem.json: -------------------------------------------------------------------------------- 1 | { 2 | "launchers": { 3 | "node": { 4 | "command": "node ./test" 5 | } 6 | }, 7 | "src_files": [ 8 | "./**/*.js" 9 | ], 10 | "before_tests": "npm run build-test", 11 | "on_exit": "rm test/static/bundle.js", 12 | "test_page": "test/static/index.html", 13 | "launch_in_dev": ["node", "phantomjs"] 14 | } 15 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.8 4 | - 0.9 5 | - 0.10 6 | script: node ./test/index.js 7 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/LICENCE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 Colingo. 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/README.md: -------------------------------------------------------------------------------- 1 | # min-document 2 | 3 | [![build status][1]][2] [![dependency status][3]][4] 4 | 5 | 6 | 7 | A minimal DOM implementation 8 | 9 | ## Example 10 | 11 | ```js 12 | var document = require("min-document") 13 | 14 | var div = document.createElement("div") 15 | div.className = "foo bar" 16 | 17 | var span = document.createElement("span") 18 | div.appendChild(span) 19 | span.textContent = "Hello!" 20 | 21 | /*
22 | Hello! 23 |
24 | */ 25 | var html = String(div) 26 | ``` 27 | 28 | ## Installation 29 | 30 | `npm install min-document` 31 | 32 | ## Contributors 33 | 34 | - Raynos 35 | 36 | ## MIT Licenced 37 | 38 | [1]: https://secure.travis-ci.org/Raynos/min-document.png 39 | [2]: https://travis-ci.org/Raynos/min-document 40 | [3]: https://david-dm.org/Raynos/min-document.png 41 | [4]: https://david-dm.org/Raynos/min-document 42 | [5]: https://ci.testling.com/Raynos/min-document.png 43 | [6]: https://ci.testling.com/Raynos/min-document 44 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/dom-comment.js: -------------------------------------------------------------------------------- 1 | module.exports = Comment 2 | 3 | function Comment(data, owner) { 4 | if (!(this instanceof Comment)) { 5 | return new Comment(data, owner) 6 | } 7 | 8 | this.data = data 9 | this.nodeValue = data 10 | this.length = data.length 11 | this.ownerDocument = owner || null 12 | } 13 | 14 | Comment.prototype.nodeType = 8 15 | Comment.prototype.nodeName = "#comment" 16 | 17 | Comment.prototype.toString = function _Comment_toString() { 18 | return "[object Comment]" 19 | } 20 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/dom-fragment.js: -------------------------------------------------------------------------------- 1 | var DOMElement = require("./dom-element.js") 2 | 3 | module.exports = DocumentFragment 4 | 5 | function DocumentFragment(owner) { 6 | if (!(this instanceof DocumentFragment)) { 7 | return new DocumentFragment() 8 | } 9 | 10 | this.childNodes = [] 11 | this.parentNode = null 12 | this.ownerDocument = owner || null 13 | } 14 | 15 | DocumentFragment.prototype.type = "DocumentFragment" 16 | DocumentFragment.prototype.nodeType = 11 17 | DocumentFragment.prototype.nodeName = "#document-fragment" 18 | 19 | DocumentFragment.prototype.appendChild = DOMElement.prototype.appendChild 20 | DocumentFragment.prototype.replaceChild = DOMElement.prototype.replaceChild 21 | DocumentFragment.prototype.removeChild = DOMElement.prototype.removeChild 22 | 23 | DocumentFragment.prototype.toString = 24 | function _DocumentFragment_toString() { 25 | return this.childNodes.map(function (node) { 26 | return String(node) 27 | }).join("") 28 | } 29 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/dom-text.js: -------------------------------------------------------------------------------- 1 | module.exports = DOMText 2 | 3 | function DOMText(value, owner) { 4 | if (!(this instanceof DOMText)) { 5 | return new DOMText(value) 6 | } 7 | 8 | this.data = value || "" 9 | this.length = this.data.length 10 | this.ownerDocument = owner || null 11 | } 12 | 13 | DOMText.prototype.type = "DOMTextNode" 14 | DOMText.prototype.nodeType = 3 15 | DOMText.prototype.nodeName = "#text" 16 | 17 | DOMText.prototype.toString = function _Text_toString() { 18 | return this.data 19 | } 20 | 21 | DOMText.prototype.replaceData = function replaceData(index, length, value) { 22 | var current = this.data 23 | var left = current.substring(0, index) 24 | var right = current.substring(index + length, current.length) 25 | this.data = left + value + right 26 | this.length = this.data.length 27 | } 28 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/event.js: -------------------------------------------------------------------------------- 1 | module.exports = Event 2 | 3 | function Event(family) {} 4 | 5 | Event.prototype.initEvent = function _Event_initEvent(type, bubbles, cancelable) { 6 | this.type = type 7 | this.bubbles = bubbles 8 | this.cancelable = cancelable 9 | } 10 | 11 | Event.prototype.preventDefault = function _Event_preventDefault() { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/event/add-event-listener.js: -------------------------------------------------------------------------------- 1 | module.exports = addEventListener 2 | 3 | function addEventListener(type, listener) { 4 | var elem = this 5 | 6 | if (!elem.listeners) { 7 | elem.listeners = {} 8 | } 9 | 10 | if (!elem.listeners[type]) { 11 | elem.listeners[type] = [] 12 | } 13 | 14 | if (elem.listeners[type].indexOf(listener) === -1) { 15 | elem.listeners[type].push(listener) 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/event/dispatch-event.js: -------------------------------------------------------------------------------- 1 | module.exports = dispatchEvent 2 | 3 | function dispatchEvent(ev) { 4 | var elem = this 5 | var type = ev.type 6 | 7 | if (!ev.target) { 8 | ev.target = elem 9 | } 10 | 11 | if (!elem.listeners) { 12 | elem.listeners = {} 13 | } 14 | 15 | var listeners = elem.listeners[type] 16 | 17 | if (listeners) { 18 | return listeners.forEach(function (listener) { 19 | ev.currentTarget = elem 20 | if (typeof listener === 'function') { 21 | listener(ev) 22 | } else { 23 | listener.handleEvent(ev) 24 | } 25 | }) 26 | } 27 | 28 | if (elem.parentNode) { 29 | elem.parentNode.dispatchEvent(ev) 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/event/remove-event-listener.js: -------------------------------------------------------------------------------- 1 | module.exports = removeEventListener 2 | 3 | function removeEventListener(type, listener) { 4 | var elem = this 5 | 6 | if (!elem.listeners) { 7 | return 8 | } 9 | 10 | if (!elem.listeners[type]) { 11 | return 12 | } 13 | 14 | var list = elem.listeners[type] 15 | var index = list.indexOf(listener) 16 | if (index !== -1) { 17 | list.splice(index, 1) 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/index.js: -------------------------------------------------------------------------------- 1 | var Document = require('./document.js'); 2 | 3 | module.exports = new Document(); 4 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "min-document", 3 | "version": "2.19.0", 4 | "description": "A minimal DOM implementation", 5 | "keywords": [], 6 | "author": "Raynos ", 7 | "repository": "git://github.com/Raynos/min-document.git", 8 | "main": "index", 9 | "homepage": "https://github.com/Raynos/min-document", 10 | "contributors": [ 11 | { 12 | "name": "Raynos" 13 | } 14 | ], 15 | "bugs": { 16 | "url": "https://github.com/Raynos/min-document/issues", 17 | "email": "raynos2@gmail.com" 18 | }, 19 | "dependencies": { 20 | "dom-walk": "^0.1.0" 21 | }, 22 | "devDependencies": { 23 | "run-browser": "git://github.com/Raynos/run-browser", 24 | "tap-dot": "^0.2.1", 25 | "tap-spec": "^0.1.8", 26 | "tape": "^2.12.3" 27 | }, 28 | "licenses": [ 29 | { 30 | "type": "MIT", 31 | "url": "http://github.com/Raynos/min-document/raw/master/LICENSE" 32 | } 33 | ], 34 | "scripts": { 35 | "test": "node ./test/index.js | tap-spec", 36 | "dot": "node ./test/index.js | tap-dot", 37 | "cover": "istanbul cover --report none --print detail ./test/index.js", 38 | "view-cover": "istanbul report html && google-chrome ./coverage/index.html", 39 | "browser": "run-browser test/index.js", 40 | "phantom": "run-browser test/index.js -b | tap-spec" 41 | }, 42 | "testling": { 43 | "files": "test/index.js", 44 | "browsers": [ 45 | "ie/8..latest", 46 | "firefox/16..latest", 47 | "firefox/nightly", 48 | "chrome/22..latest", 49 | "chrome/canary", 50 | "opera/12..latest", 51 | "opera/next", 52 | "safari/5.1..latest", 53 | "ipad/6.0..latest", 54 | "iphone/6.0..latest", 55 | "android-browser/4.2..latest" 56 | ] 57 | }, 58 | "__npminstall_done": "Wed Aug 19 2020 16:25:28 GMT+0800 (GMT+08:00)", 59 | "_from": "min-document@2.19.0", 60 | "_resolved": "https://registry.npm.taobao.org/min-document/download/min-document-2.19.0.tgz" 61 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/test/cleanup.js: -------------------------------------------------------------------------------- 1 | module.exports = Cleanup 2 | 3 | function Cleanup (document) { 4 | 5 | return cleanup 6 | 7 | function cleanup () { 8 | var childNodes = document.body.childNodes 9 | for (var i = 0; i < childNodes.length; i++) { 10 | document.body.removeChild(childNodes[i]) 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/test/index.js: -------------------------------------------------------------------------------- 1 | var testDocument = require("./test-document") 2 | var testDomElement = require("./test-dom-element") 3 | var testDomComment = require("./test-dom-comment") 4 | var document = require("../index") 5 | 6 | testDocument(document) 7 | testDomElement(document) 8 | testDomComment(document) 9 | 10 | if (typeof window !== "undefined" && window.document) { 11 | testDocument(window.document) 12 | testDomElement(window.document) 13 | testDomComment(window.document) 14 | } 15 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/test/static/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | TAPE Example 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/test/static/test-adapter.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | var Testem = window.Testem 3 | var regex = /^((?:not )?ok) (\d+) (.+)$/ 4 | 5 | Testem.useCustomAdapter(tapAdapter) 6 | 7 | function tapAdapter(socket){ 8 | var results = { 9 | failed: 0 10 | , passed: 0 11 | , total: 0 12 | , tests: [] 13 | } 14 | 15 | socket.emit('tests-start') 16 | 17 | Testem.handleConsoleMessage = function(msg){ 18 | var m = msg.match(regex) 19 | if (m) { 20 | var passed = m[1] === 'ok' 21 | var test = { 22 | passed: passed ? 1 : 0, 23 | failed: passed ? 0 : 1, 24 | total: 1, 25 | id: m[2], 26 | name: m[3], 27 | items: [] 28 | } 29 | 30 | if (passed) { 31 | results.passed++ 32 | } else { 33 | results.failed++ 34 | } 35 | 36 | results.total++ 37 | 38 | socket.emit('test-result', test) 39 | results.tests.push(test) 40 | } else if (msg === '# ok' || msg.match(/^# tests \d+/)){ 41 | socket.emit('all-test-results', results) 42 | } 43 | 44 | // return false if you want to prevent the console message from 45 | // going to the console 46 | // return false 47 | } 48 | } 49 | }()) 50 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_min-document@2.19.0@min-document/test/test-dom-comment.js: -------------------------------------------------------------------------------- 1 | var test = require("tape") 2 | 3 | module.exports = testDomComment 4 | 5 | function testDomComment(document) { 6 | var cleanup = require('./cleanup')(document) 7 | 8 | test("can createComment", function(assert) { 9 | var comment = document.createComment("test") 10 | assert.equal(comment.data, "test") 11 | assert.equal(comment.length, 4) 12 | assert.equal(comment.nodeName, "#comment") 13 | assert.equal(comment.nodeType, 8) 14 | assert.equal(comment.nodeValue, "test") 15 | assert.equal(comment.ownerDocument, document) 16 | assert.equal(comment.toString(), "[object Comment]") 17 | cleanup() 18 | assert.end() 19 | }) 20 | } 21 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/.buildpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | node-cryptojs-aes 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.wst.jsdt.core.javascriptValidator 10 | 11 | 12 | 13 | 14 | org.eclipse.wst.validation.validationbuilder 15 | 16 | 17 | 18 | 19 | org.eclipse.dltk.core.scriptbuilder 20 | 21 | 22 | 23 | 24 | 25 | org.eclipse.php.core.PHPNature 26 | org.eclipse.wst.jsdt.core.jsNature 27 | 28 | 29 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/.settings/.jsdtscope: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/.settings/org.eclipse.php.core.prefs: -------------------------------------------------------------------------------- 1 | eclipse.preferences.version=1 2 | include_path=0;/node-cryptojs-aes 3 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/.settings/org.eclipse.wst.jsdt.ui.superType.container: -------------------------------------------------------------------------------- 1 | org.eclipse.wst.jsdt.launching.baseBrowserLibrary -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/.settings/org.eclipse.wst.jsdt.ui.superType.name: -------------------------------------------------------------------------------- 1 | Window -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/client/jsonformatter.js: -------------------------------------------------------------------------------- 1 | //create custom json serialization format 2 | var JsonFormatter = { 3 | stringify: function (cipherParams) { 4 | // create json object with ciphertext 5 | var jsonObj = { 6 | ct: cipherParams.ciphertext.toString(CryptoJS.enc.Base64) 7 | }; 8 | 9 | // optionally add iv and salt 10 | if (cipherParams.iv) { 11 | jsonObj.iv = cipherParams.iv.toString(); 12 | } 13 | 14 | if (cipherParams.salt) { 15 | jsonObj.s = cipherParams.salt.toString(); 16 | } 17 | 18 | // stringify json object 19 | return JSON.stringify(jsonObj) 20 | }, 21 | 22 | parse: function (jsonStr) { 23 | // parse json string 24 | var jsonObj = JSON.parse(jsonStr); 25 | 26 | // extract ciphertext from json object, and create cipher params object 27 | var cipherParams = CryptoJS.lib.CipherParams.create({ 28 | ciphertext: CryptoJS.enc.Base64.parse(jsonObj.ct) 29 | }); 30 | 31 | // optionally extract iv and salt 32 | if (jsonObj.iv) { 33 | cipherParams.iv = CryptoJS.enc.Hex.parse(jsonObj.iv); 34 | } 35 | 36 | if (jsonObj.s) { 37 | cipherParams.salt = CryptoJS.enc.Hex.parse(jsonObj.s); 38 | } 39 | 40 | return cipherParams; 41 | } 42 | }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/cryptojs.js: -------------------------------------------------------------------------------- 1 | var CryptoJS = require('./lib/core').CryptoJS; 2 | require('./lib/enc-base64'); 3 | require('./lib/md5'); 4 | require('./lib/evpkdf'); 5 | require('./lib/cipher-core'); 6 | require('./lib/aes'); 7 | var JsonFormatter = require('./lib/jsonformatter').JsonFormatter; 8 | 9 | exports.CryptoJS = CryptoJS; 10 | exports.JsonFormatter = JsonFormatter; -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/examples/browser/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/examples/browser/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/examples/browser/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/examples/browser/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/examples/browser/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/crawlerwolf/jslearn/9c207cf7f7c337c1b011797a4e894453e3392360/100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/examples/browser/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/lib/jsonformatter.js: -------------------------------------------------------------------------------- 1 | var CryptoJS = require('./core').CryptoJS; 2 | 3 | // create custom json serialization format 4 | var JsonFormatter = { 5 | stringify: function (cipherParams) { 6 | // create json object with ciphertext 7 | var jsonObj = { 8 | ct: cipherParams.ciphertext.toString(CryptoJS.enc.Base64) 9 | }; 10 | 11 | // optionally add iv and salt 12 | if (cipherParams.iv) { 13 | jsonObj.iv = cipherParams.iv.toString(); 14 | } 15 | 16 | if (cipherParams.salt) { 17 | jsonObj.s = cipherParams.salt.toString(); 18 | } 19 | 20 | // stringify json object 21 | return JSON.stringify(jsonObj) 22 | }, 23 | 24 | parse: function (jsonStr) { 25 | // parse json string 26 | var jsonObj = JSON.parse(jsonStr); 27 | 28 | // extract ciphertext from json object, and create cipher params object 29 | var cipherParams = CryptoJS.lib.CipherParams.create({ 30 | ciphertext: CryptoJS.enc.Base64.parse(jsonObj.ct) 31 | }); 32 | 33 | // optionally extract iv and salt 34 | if (jsonObj.iv) { 35 | cipherParams.iv = CryptoJS.enc.Hex.parse(jsonObj.iv); 36 | } 37 | 38 | if (jsonObj.s) { 39 | cipherParams.salt = CryptoJS.enc.Hex.parse(jsonObj.s); 40 | } 41 | 42 | return cipherParams; 43 | } 44 | }; 45 | 46 | exports.JsonFormatter = JsonFormatter; -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-cryptojs-aes@0.4.0@node-cryptojs-aes/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Jack Carrick Xiang Cheng (inovlab.com)", 3 | "name": "node-cryptojs-aes", 4 | "description": "Standalone cryptographic library. A minimalist port of cryptojs javascript library to node.js, that supports AES symmetric key cryptography. node-cryptojs-aes works great on frontend data masking and unmasking.", 5 | "version": "0.4.0", 6 | "repository": { 7 | "type": "git", 8 | "url": "git://github.com/chengxianga2008/node-cryptojs-aes.git" 9 | }, 10 | "main": "cryptojs.js", 11 | "dependencies": {}, 12 | "devDependencies": {}, 13 | "keywords": [ 14 | "cryptojs", 15 | "aes", 16 | "data masking", 17 | "cryptography", 18 | "frontend", 19 | "encryption" 20 | ], 21 | "optionalDependencies": {}, 22 | "engines": { 23 | "node": "*" 24 | }, 25 | "homepage": "https://github.com/chengxianga2008/node-cryptojs-aes", 26 | "license": "MIT", 27 | "__npminstall_done": "Sun Aug 23 2020 10:41:33 GMT+0800 (GMT+08:00)", 28 | "_from": "node-cryptojs-aes@0.4.0", 29 | "_resolved": "https://registry.npm.taobao.org/node-cryptojs-aes/download/node-cryptojs-aes-0.4.0.tgz" 30 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-jsencrypt@1.0.0@node-jsencrypt/.npmignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-jsencrypt@1.0.0@node-jsencrypt/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Arnaud 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-jsencrypt@1.0.0@node-jsencrypt/README.md: -------------------------------------------------------------------------------- 1 | # node-jsencrypt 2 | A port of JSEncrypt to NodeJS 3 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-jsencrypt@1.0.0@node-jsencrypt/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-jsencrypt", 3 | "version": "1.0.0", 4 | "description": "A port of JSEncrypt to NodeJS.", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/ArnaudValensi/node-jsencrypt.git" 12 | }, 13 | "keywords": [ 14 | "jsencrypt", 15 | "rsa", 16 | "crypto" 17 | ], 18 | "author": "Arnaud Valensi", 19 | "license": "MIT", 20 | "bugs": { 21 | "url": "https://github.com/ArnaudValensi/node-jsencrypt/issues" 22 | }, 23 | "homepage": "https://github.com/ArnaudValensi/node-jsencrypt#readme", 24 | "dependencies": { 25 | "get-random-values": "^1.2.0" 26 | }, 27 | "__npminstall_done": "Wed Aug 19 2020 16:25:26 GMT+0800 (GMT+08:00)", 28 | "_from": "node-jsencrypt@1.0.0", 29 | "_resolved": "https://registry.npm.taobao.org/node-jsencrypt/download/node-jsencrypt-1.0.0.tgz" 30 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-rsa@1.1.1@node-rsa/gruntfile.js: -------------------------------------------------------------------------------- 1 | module.exports = function (grunt) { 2 | grunt.initConfig({ 3 | jshint: { 4 | options: {}, 5 | default: { 6 | files: { 7 | src: ['gruntfile.js', 'src/**/*.js', '!src/libs/jsbn.js'] 8 | } 9 | }, 10 | libs: { 11 | files: { 12 | src: ['src/libs/**/*'] 13 | } 14 | } 15 | }, 16 | 17 | simplemocha: { 18 | options: { 19 | reporter: 'list' 20 | }, 21 | all: {src: ['test/**/*.js']} 22 | } 23 | }); 24 | 25 | require('jit-grunt')(grunt, { 26 | 'simplemocha': 'grunt-simple-mocha' 27 | }); 28 | 29 | grunt.registerTask('lint', ['jshint:default']); 30 | grunt.registerTask('test', ['simplemocha']); 31 | 32 | grunt.registerTask('default', ['lint', 'test']); 33 | }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-rsa@1.1.1@node-rsa/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "node-rsa", 3 | "version": "1.1.1", 4 | "description": "Node.js RSA library", 5 | "main": "src/NodeRSA.js", 6 | "scripts": { 7 | "test": "grunt test" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "https://github.com/rzcoder/node-rsa.git" 12 | }, 13 | "keywords": [ 14 | "node", 15 | "rsa", 16 | "crypto", 17 | "assymetric", 18 | "encryption", 19 | "decryption", 20 | "sign", 21 | "verify", 22 | "pkcs1", 23 | "oaep", 24 | "pss" 25 | ], 26 | "author": "rzcoder", 27 | "license": "MIT", 28 | "bugs": { 29 | "url": "https://github.com/rzcoder/node-rsa/issues" 30 | }, 31 | "homepage": "https://github.com/rzcoder/node-rsa", 32 | "devDependencies": { 33 | "chai": "^4.2.0", 34 | "grunt": "^1.1.0", 35 | "grunt-contrib-jshint": "^2.1.0", 36 | "grunt-simple-mocha": "0.4.1", 37 | "jit-grunt": "0.10.0", 38 | "lodash": "^4.17.15", 39 | "nyc": "^15.0.0" 40 | }, 41 | "dependencies": { 42 | "asn1": "^0.2.4" 43 | }, 44 | "__npminstall_done": "Fri Aug 21 2020 14:20:34 GMT+0800 (GMT+08:00)", 45 | "_from": "node-rsa@1.1.1", 46 | "_resolved": "https://registry.npm.taobao.org/node-rsa/download/node-rsa-1.1.1.tgz" 47 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-rsa@1.1.1@node-rsa/src/encryptEngines/encryptEngines.js: -------------------------------------------------------------------------------- 1 | var crypt = require('crypto'); 2 | 3 | module.exports = { 4 | getEngine: function (keyPair, options) { 5 | var engine = require('./js.js'); 6 | if (options.environment === 'node') { 7 | if (typeof crypt.publicEncrypt === 'function' && typeof crypt.privateDecrypt === 'function') { 8 | if (typeof crypt.privateEncrypt === 'function' && typeof crypt.publicDecrypt === 'function') { 9 | engine = require('./io.js'); 10 | } else { 11 | engine = require('./node12.js'); 12 | } 13 | } 14 | } 15 | return engine(keyPair, options); 16 | } 17 | }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-rsa@1.1.1@node-rsa/src/encryptEngines/js.js: -------------------------------------------------------------------------------- 1 | var BigInteger = require('../libs/jsbn.js'); 2 | var schemes = require('../schemes/schemes.js'); 3 | 4 | module.exports = function (keyPair, options) { 5 | var pkcs1Scheme = schemes.pkcs1.makeScheme(keyPair, options); 6 | 7 | return { 8 | encrypt: function (buffer, usePrivate) { 9 | var m, c; 10 | if (usePrivate) { 11 | /* Type 1: zeros padding for private key encrypt */ 12 | m = new BigInteger(pkcs1Scheme.encPad(buffer, {type: 1})); 13 | c = keyPair.$doPrivate(m); 14 | } else { 15 | m = new BigInteger(keyPair.encryptionScheme.encPad(buffer)); 16 | c = keyPair.$doPublic(m); 17 | } 18 | return c.toBuffer(keyPair.encryptedDataLength); 19 | }, 20 | 21 | decrypt: function (buffer, usePublic) { 22 | var m, c = new BigInteger(buffer); 23 | 24 | if (usePublic) { 25 | m = keyPair.$doPublic(c); 26 | /* Type 1: zeros padding for private key decrypt */ 27 | return pkcs1Scheme.encUnPad(m.toBuffer(keyPair.encryptedDataLength), {type: 1}); 28 | } else { 29 | m = keyPair.$doPrivate(c); 30 | return keyPair.encryptionScheme.encUnPad(m.toBuffer(keyPair.encryptedDataLength)); 31 | } 32 | } 33 | }; 34 | }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-rsa@1.1.1@node-rsa/src/formats/components.js: -------------------------------------------------------------------------------- 1 | var _ = require('../utils')._; 2 | var utils = require('../utils'); 3 | 4 | module.exports = { 5 | privateExport: function (key, options) { 6 | return { 7 | n: key.n.toBuffer(), 8 | e: key.e, 9 | d: key.d.toBuffer(), 10 | p: key.p.toBuffer(), 11 | q: key.q.toBuffer(), 12 | dmp1: key.dmp1.toBuffer(), 13 | dmq1: key.dmq1.toBuffer(), 14 | coeff: key.coeff.toBuffer() 15 | }; 16 | }, 17 | 18 | privateImport: function (key, data, options) { 19 | if (data.n && data.e && data.d && data.p && data.q && data.dmp1 && data.dmq1 && data.coeff) { 20 | key.setPrivate( 21 | data.n, 22 | data.e, 23 | data.d, 24 | data.p, 25 | data.q, 26 | data.dmp1, 27 | data.dmq1, 28 | data.coeff 29 | ); 30 | } else { 31 | throw Error("Invalid key data"); 32 | } 33 | }, 34 | 35 | publicExport: function (key, options) { 36 | return { 37 | n: key.n.toBuffer(), 38 | e: key.e 39 | }; 40 | }, 41 | 42 | publicImport: function (key, data, options) { 43 | if (data.n && data.e) { 44 | key.setPublic( 45 | data.n, 46 | data.e 47 | ); 48 | } else { 49 | throw Error("Invalid key data"); 50 | } 51 | }, 52 | 53 | /** 54 | * Trying autodetect and import key 55 | * @param key 56 | * @param data 57 | */ 58 | autoImport: function (key, data) { 59 | if (data.n && data.e) { 60 | if (data.d && data.p && data.q && data.dmp1 && data.dmq1 && data.coeff) { 61 | module.exports.privateImport(key, data); 62 | return true; 63 | } else { 64 | module.exports.publicImport(key, data); 65 | return true; 66 | } 67 | } 68 | 69 | return false; 70 | } 71 | }; 72 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_node-rsa@1.1.1@node-rsa/src/schemes/schemes.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | pkcs1: require('./pkcs1'), 3 | pkcs1_oaep: require('./oaep'), 4 | pss: require('./pss'), 5 | 6 | /** 7 | * Check if scheme has padding methods 8 | * @param scheme {string} 9 | * @returns {Boolean} 10 | */ 11 | isEncryption: function (scheme) { 12 | return module.exports[scheme] && module.exports[scheme].isEncryption; 13 | }, 14 | 15 | /** 16 | * Check if scheme has sign/verify methods 17 | * @param scheme {string} 18 | * @returns {Boolean} 19 | */ 20 | isSignature: function (scheme) { 21 | return module.exports[scheme] && module.exports[scheme].isSignature; 22 | } 23 | }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_nodejs-utf8@1.0.0@nodejs-utf8/.npmignore: -------------------------------------------------------------------------------- 1 | test.js 2 | .idea 3 | .DS_Store -------------------------------------------------------------------------------- /100js-learn/node_modules/_nodejs-utf8@1.0.0@nodejs-utf8/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Evan Moon 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_nodejs-utf8@1.0.0@nodejs-utf8/README.md: -------------------------------------------------------------------------------- 1 | [npm-image]: https://img.shields.io/npm/v/nodejs-utf8.svg 2 | [npm-url]: https://www.npmjs.com/package/nodejs-utf8 3 | 4 | # nodejs-utf8 [![npm][npm-image]][npm-url] 5 | Simple UTF-8 encoder/decoder 6 | 7 | ## Installation 8 | ```shell 9 | npm install nodejs-utf8 10 | ``` 11 | 12 | ## Usage (with CommonJS) 13 | ```javascript 14 | const utf8 = require('nodejs-utf8'); 15 | 16 | const encoded = utf8.encode('안녕하세요'); 17 | utf8.decode(encoded); 18 | ``` -------------------------------------------------------------------------------- /100js-learn/node_modules/_nodejs-utf8@1.0.0@nodejs-utf8/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | encode (string) { 3 | string = string.replace(/\r\n/g, '\n'); 4 | 5 | let utfString = ''; 6 | string.split('').forEach((v) => { 7 | const c = v.charCodeAt(0); 8 | if (c < 128) { 9 | utfString += String.fromCharCode(c); 10 | } 11 | else if (c > 127 && c < 2048) { 12 | utfString += String.fromCharCode((c >> 6) | 192); 13 | utfString += String.fromCharCode((c & 63) | 128); 14 | } 15 | else { 16 | utfString += String.fromCharCode((c >> 12) | 224); 17 | utfString += String.fromCharCode(((c >> 6) & 63) | 128); 18 | utfString += String.fromCharCode((c & 63) | 128); 19 | } 20 | }); 21 | 22 | return utfString; 23 | }, 24 | decode (utfString) { 25 | let string = '', 26 | i = 0, 27 | c = 0, c2 = 0, c3 = 0; 28 | 29 | while (i < utfString.length) { 30 | c = utfString.charCodeAt(i); 31 | 32 | if (c < 128) { 33 | string += String.fromCharCode(c); 34 | i++; 35 | } 36 | else if (c > 191 && c < 224) { 37 | c2 = utfString.charCodeAt(i + 1); 38 | string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); 39 | i += 2; 40 | } 41 | else { 42 | c2 = utfString.charCodeAt(i + 1); 43 | c3 = utfString.charCodeAt(i + 2); 44 | string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); 45 | i += 3; 46 | } 47 | } 48 | 49 | return string; 50 | } 51 | }; 52 | 53 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_nodejs-utf8@1.0.0@nodejs-utf8/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "nodejs-utf8", 3 | "version": "1.0.0", 4 | "description": "simple UTF-8 encoder/decoder", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "node test.js" 8 | }, 9 | "repository": { 10 | "type": "git", 11 | "url": "git+https://github.com/evan-moon/nodejs-utf8.git" 12 | }, 13 | "keywords": [ 14 | "node", 15 | "nodejs", 16 | "utf8", 17 | "encoder", 18 | "decoder" 19 | ], 20 | "author": "Evan Moon", 21 | "license": "MIT", 22 | "bugs": { 23 | "url": "https://github.com/evan-moon/nodejs-utf8/issues" 24 | }, 25 | "homepage": "https://github.com/evan-moon/nodejs-utf8#readme", 26 | "__npminstall_done": "Sat Aug 22 2020 17:30:07 GMT+0800 (GMT+08:00)", 27 | "_from": "nodejs-utf8@1.0.0", 28 | "_resolved": "https://registry.npm.taobao.org/nodejs-utf8/download/nodejs-utf8-1.0.0.tgz" 29 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_pidcrypt@0.0.31@pidcrypt/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./pidcrypt.js"); 2 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_pidcrypt@0.0.31@pidcrypt/prng4.js: -------------------------------------------------------------------------------- 1 | // Author: Tom Wu 2 | // tjw@cs.Stanford.EDU 3 | // prng4.js - uses Arcfour as a PRNG 4 | 5 | function Arcfour() { 6 | this.i = 0; 7 | this.j = 0; 8 | this.S = new Array(); 9 | } 10 | 11 | // Initialize arcfour context from key, an array of ints, each from [0..255] 12 | function ARC4init(key) { 13 | var i, j, t; 14 | for(i = 0; i < 256; ++i) 15 | this.S[i] = i; 16 | j = 0; 17 | for(i = 0; i < 256; ++i) { 18 | j = (j + this.S[i] + key[i % key.length]) & 255; 19 | t = this.S[i]; 20 | this.S[i] = this.S[j]; 21 | this.S[j] = t; 22 | } 23 | this.i = 0; 24 | this.j = 0; 25 | } 26 | 27 | function ARC4next() { 28 | var t; 29 | this.i = (this.i + 1) & 255; 30 | this.j = (this.j + this.S[this.i]) & 255; 31 | t = this.S[this.i]; 32 | this.S[this.i] = this.S[this.j]; 33 | this.S[this.j] = t; 34 | return this.S[(t + this.S[this.i]) & 255]; 35 | } 36 | 37 | Arcfour.prototype.init = ARC4init; 38 | Arcfour.prototype.next = ARC4next; 39 | 40 | module.exports = Arcfour; 41 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_process@0.11.10@process/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | extends: "eslint:recommended", 3 | "env": { 4 | "node": true, 5 | "browser": true, 6 | "es6" : true, 7 | "mocha": true 8 | }, 9 | "rules": { 10 | "indent": [2, 4], 11 | "brace-style": [2, "1tbs"], 12 | "quotes": [2, "single"], 13 | "no-console": 0, 14 | "no-shadow": 0, 15 | "no-use-before-define": [2, "nofunc"], 16 | "no-underscore-dangle": 0, 17 | "no-constant-condition": 0, 18 | "space-after-function-name": 0, 19 | "consistent-return": 0 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_process@0.11.10@process/LICENSE: -------------------------------------------------------------------------------- 1 | (The MIT License) 2 | 3 | Copyright (c) 2013 Roman Shtylman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | 'Software'), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_process@0.11.10@process/README.md: -------------------------------------------------------------------------------- 1 | # process 2 | 3 | ```require('process');``` just like any other module. 4 | 5 | Works in node.js and browsers via the browser.js shim provided with the module. 6 | 7 | ## browser implementation 8 | 9 | The goal of this module is not to be a full-fledged alternative to the builtin process module. This module mostly exists to provide the nextTick functionality and little more. We keep this module lean because it will often be included by default by tools like browserify when it detects a module has used the `process` global. 10 | 11 | It also exposes a "browser" member (i.e. `process.browser`) which is `true` in this implementation but `undefined` in node. This can be used in isomorphic code that adjusts it's behavior depending on which environment it's running in. 12 | 13 | If you are looking to provide other process methods, I suggest you monkey patch them onto the process global in your app. A list of user created patches is below. 14 | 15 | * [hrtime](https://github.com/kumavis/browser-process-hrtime) 16 | * [stdout](https://github.com/kumavis/browser-stdout) 17 | 18 | ## package manager notes 19 | 20 | If you are writing a bundler to package modules for client side use, make sure you use the ```browser``` field hint in package.json. 21 | 22 | See https://gist.github.com/4339901 for details. 23 | 24 | The [browserify](https://github.com/substack/node-browserify) module will properly handle this field when bundling your files. 25 | 26 | 27 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_process@0.11.10@process/index.js: -------------------------------------------------------------------------------- 1 | // for now just expose the builtin process global from node.js 2 | module.exports = global.process; 3 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_process@0.11.10@process/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Roman Shtylman ", 3 | "name": "process", 4 | "description": "process information for node.js and browsers", 5 | "keywords": [ 6 | "process" 7 | ], 8 | "scripts": { 9 | "test": "mocha test.js", 10 | "browser": "zuul --no-coverage --ui mocha-bdd --local 8080 -- test.js" 11 | }, 12 | "version": "0.11.10", 13 | "repository": { 14 | "type": "git", 15 | "url": "git://github.com/shtylman/node-process.git" 16 | }, 17 | "license": "MIT", 18 | "browser": "./browser.js", 19 | "main": "./index.js", 20 | "engines": { 21 | "node": ">= 0.6.0" 22 | }, 23 | "devDependencies": { 24 | "mocha": "2.2.1", 25 | "zuul": "^3.10.3" 26 | }, 27 | "__npminstall_done": "Wed Aug 19 2020 16:25:27 GMT+0800 (GMT+08:00)", 28 | "_from": "process@0.11.10", 29 | "_resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz" 30 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/.eslintignore: -------------------------------------------------------------------------------- 1 | webpack.config.js -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "commonjs": true, 5 | "es6": true, 6 | "mocha": true, 7 | "node": true 8 | }, 9 | "extends": "eslint:recommended", 10 | "parserOptions": { 11 | "ecmaVersion": 2017, 12 | "ecmaFeatures": { 13 | "experimentalObjectRestSpread": true 14 | } 15 | }, 16 | "rules": { 17 | "indent": [ 18 | "warn", 19 | 2, 20 | { "SwitchCase": 1 } 21 | ], 22 | "linebreak-style": [ 23 | "error", 24 | "unix" 25 | ], 26 | "quotes": [ 27 | "error", 28 | "single" 29 | ], 30 | "semi": [ 31 | "error", 32 | "always" 33 | ] 34 | } 35 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/.nycrc: -------------------------------------------------------------------------------- 1 | { 2 | "check-coverage": true, 3 | "per-file": true, 4 | "lines": 99, 5 | "statements": 99, 6 | "functions": 99, 7 | "branches": 99, 8 | "exclude": ["test", "webpack.config.js"], 9 | "report-dir": ".dev/coverage", 10 | "temp-directory": ".dev/.nyc_output", 11 | "reporter": [ 12 | "html", 13 | "text-summary" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "lts/*" 5 | - "9" 6 | - "8" 7 | 8 | jobs: 9 | include: 10 | - node_js: "node" 11 | script: npm run test && npm run coverage 12 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 racbart 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rsa-key", 3 | "version": "0.0.6", 4 | "description": "Converts between RSA key formats, detecting input format (PEM, DER, PKCS1, PKCS8). No OpenSSL needed.", 5 | "main": "src/index.js", 6 | "scripts": { 7 | "test": "eslint . && nyc --all mocha", 8 | "coverage": "nyc report --reporter=text-lcov | coveralls", 9 | "prepack": "npm test", 10 | "devtest": "nodemon -L --watch . --exec 'npm test'" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/racbart/rsa-key.git" 15 | }, 16 | "keywords": [ 17 | "node", 18 | "rsa", 19 | "convert", 20 | "detect", 21 | "format", 22 | "formats", 23 | "PEM", 24 | "DER", 25 | "PKCS1", 26 | "PKCS8", 27 | "keys", 28 | "key", 29 | "private", 30 | "public", 31 | "crypto" 32 | ], 33 | "author": "racbart.com", 34 | "license": "MIT", 35 | "bugs": { 36 | "url": "https://github.com/racbart/rsa-key/issues" 37 | }, 38 | "homepage": "https://github.com/racbart/rsa-key#readme", 39 | "devDependencies": { 40 | "chai": "^4.1.2", 41 | "coveralls": "^3.0.0", 42 | "eslint": "^4.14.0", 43 | "istanbul": "^0.4.5", 44 | "mocha": "^4.1.0", 45 | "node-rsa": "^0.4.2", 46 | "nodemon": "^1.14.7", 47 | "nyc": "^11.4.1" 48 | }, 49 | "dependencies": { 50 | "asn1": "0.2.3" 51 | }, 52 | "__npminstall_done": "Tue Aug 18 2020 11:21:34 GMT+0800 (GMT+08:00)", 53 | "_from": "rsa-key@0.0.6", 54 | "_resolved": "https://registry.npm.taobao.org/rsa-key/download/rsa-key-0.0.6.tgz" 55 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/src/constants.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | BASE64: 'base64', 3 | UTF8: 'utf8', 4 | PRIVATE: 'private', 5 | PUBLIC: 'public', 6 | PKCS1: 'pkcs1', 7 | PKCS8: 'pkcs8', 8 | PEM: 'pem', 9 | DER: 'der' 10 | }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/src/error.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @private 3 | */ 4 | class RSAKeyError extends Error { 5 | 6 | /** 7 | * @param {string} message 8 | * @param {string} [code] 9 | * @param {Error} [original] 10 | */ 11 | constructor(message, code = 'RSA_KEY_ERROR', original) { 12 | 13 | /* Allow skipping code */ 14 | if (typeof original === 'undefined' && typeof code === 'object') { 15 | original = code; 16 | code = undefined; 17 | } 18 | 19 | /* If original error was supplied, include its message in our message */ 20 | let addonMessage = ''; 21 | if (typeof original === 'object' && typeof original.message === 'string') { 22 | addonMessage = `: ${original.message}`; 23 | } 24 | 25 | super(message + addonMessage); 26 | this.code = code; 27 | this.originalError = original; 28 | 29 | /* Get rid of ourselves from the stack trace */ 30 | Error.captureStackTrace(this, RSAKeyError); 31 | 32 | } 33 | 34 | } 35 | 36 | module.exports = RSAKeyError; -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/src/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./RSAKey'); -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/src/key.js: -------------------------------------------------------------------------------- 1 | const pem = require('./formats/pem'); 2 | const der = require('./formats/der'); 3 | const { PEM, DER } = require('./constants'); 4 | const RSAKeyError = require('./error'); 5 | 6 | /** 7 | * Decodes RSA key provided in any supported format into components 8 | * @param {string|buffer} key 9 | * @return {object} 10 | */ 11 | const decode = key => { 12 | 13 | /* Check for PEM format */ 14 | let info = pem.testPEM(key); 15 | if (info !== null) { 16 | return pem.decodePEM(key, info); 17 | } 18 | 19 | /* Check for KER format */ 20 | if (der.isDER(key)) { 21 | return der.decodeDER(key); 22 | } 23 | 24 | throw new RSAKeyError('Could not recognize key format'); 25 | 26 | }; 27 | 28 | /** 29 | * Encodes components into a RSA key in specified format 30 | * @param {object} components 31 | * @param {string} format 32 | * @param {string} type 33 | * @param {string} syntax 34 | * @return {string|buffer} 35 | */ 36 | const encode = (components, format, type, syntax) => { 37 | switch (format) { 38 | case PEM: 39 | return pem.encodePEM(components, type, syntax); 40 | case DER: 41 | return der.encodeDER(components, type, syntax); 42 | default: 43 | throw new RSAKeyError(`Unknown format: ${format}`); 44 | } 45 | }; 46 | 47 | module.exports = { decode, encode }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/src/util.js: -------------------------------------------------------------------------------- 1 | const RSAKeyError = require('./error'); 2 | 3 | /** 4 | * Extracts 32-bit integer number from a partial buffer 5 | * @private 6 | * @param {buffer} buffer 7 | * @param {number} [offset=0] 8 | * @return {number} 9 | */ 10 | function get32IntFromBuffer(buffer, offset = 0) { 11 | let size = buffer.length - offset; 12 | if (size < 0) { return NaN; } 13 | else if (size >= 4) { return buffer.readUInt32BE(offset); } 14 | else { 15 | return [...buffer.slice(offset)].reduce((acc, val, i, arr) => { 16 | return acc + val * Math.pow(16, (arr.length - i - 1) * 2); 17 | }, 0); 18 | } 19 | } 20 | 21 | /** 22 | * Checks if all components for a public key are present 23 | * @private 24 | * @param {object} components 25 | * @return {boolean} 26 | */ 27 | function hasPublicComponents(components) { 28 | return typeof components.n !== 'undefined' && typeof components.e !== 'undefined'; 29 | } 30 | 31 | /** 32 | * Checks if all components for a private key are present 33 | * @private 34 | * @param {object} components 35 | * @return {boolean} 36 | */ 37 | function hasPrivateComponents(components) { 38 | const required = ['n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi']; 39 | for (let name of required) { 40 | if (typeof components[name] === 'undefined') { return false; } 41 | } 42 | return true; 43 | } 44 | 45 | /** 46 | * Ensures string output, converting from buffer with specified encoding if necessary 47 | * @param {string|buffer} input 48 | * @param encoding 49 | * @return {string} 50 | */ 51 | function bufferStringify(input, encoding) { 52 | if (typeof input === 'string') { 53 | return input; 54 | } 55 | else if (input instanceof Buffer) { 56 | return input.toString(encoding); 57 | } 58 | else { 59 | throw new RSAKeyError('Buffer or string is required'); 60 | } 61 | } 62 | 63 | module.exports = { get32IntFromBuffer, hasPrivateComponents, hasPublicComponents, bufferStringify }; -------------------------------------------------------------------------------- /100js-learn/node_modules/_rsa-key@0.0.6@rsa-key/test/lib-error.js: -------------------------------------------------------------------------------- 1 | const { assert } = require('chai'); 2 | const RSAKeyError = require('../src/error'); 3 | 4 | describe('RSAKeyError', function() { 5 | 6 | let err; 7 | const MESSAGE = 'this is a test error message'; 8 | const ORIGINAL_MESSAGE = 'original err msg'; 9 | const CODE = 'CUSTOM_ERROR_CODE'; 10 | 11 | it('should crate an object', function() { 12 | err = new RSAKeyError(MESSAGE, CODE); 13 | assert.instanceOf(err, RSAKeyError); 14 | }); 15 | 16 | it('should have correct message', function() { 17 | assert(err.message, MESSAGE); 18 | }); 19 | 20 | it('should have correct code', function() { 21 | assert(err.code, CODE); 22 | }); 23 | 24 | it('should create an object based on another error', function() { 25 | err = new RSAKeyError(MESSAGE, new Error(ORIGINAL_MESSAGE)); 26 | assert.instanceOf(err, RSAKeyError); 27 | }); 28 | 29 | it('its message should include original message', function() { 30 | assert.include(err.message, ORIGINAL_MESSAGE); 31 | }); 32 | 33 | it('should include original error object', function() { 34 | assert.instanceOf(err.originalError, Error); 35 | }); 36 | 37 | }); -------------------------------------------------------------------------------- /100js-learn/node_modules/_safer-buffer@2.1.2@safer-buffer/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 Nikita Skovoroda 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_safer-buffer@2.1.2@safer-buffer/dangerous.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable node/no-deprecated-api */ 2 | 3 | 'use strict' 4 | 5 | var buffer = require('buffer') 6 | var Buffer = buffer.Buffer 7 | var safer = require('./safer.js') 8 | var Safer = safer.Buffer 9 | 10 | var dangerous = {} 11 | 12 | var key 13 | 14 | for (key in safer) { 15 | if (!safer.hasOwnProperty(key)) continue 16 | dangerous[key] = safer[key] 17 | } 18 | 19 | var Dangereous = dangerous.Buffer = {} 20 | 21 | // Copy Safer API 22 | for (key in Safer) { 23 | if (!Safer.hasOwnProperty(key)) continue 24 | Dangereous[key] = Safer[key] 25 | } 26 | 27 | // Copy those missing unsafe methods, if they are present 28 | for (key in Buffer) { 29 | if (!Buffer.hasOwnProperty(key)) continue 30 | if (Dangereous.hasOwnProperty(key)) continue 31 | Dangereous[key] = Buffer[key] 32 | } 33 | 34 | if (!Dangereous.allocUnsafe) { 35 | Dangereous.allocUnsafe = function (size) { 36 | if (typeof size !== 'number') { 37 | throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) 38 | } 39 | if (size < 0 || size >= 2 * (1 << 30)) { 40 | throw new RangeError('The value "' + size + '" is invalid for option "size"') 41 | } 42 | return Buffer(size) 43 | } 44 | } 45 | 46 | if (!Dangereous.allocUnsafeSlow) { 47 | Dangereous.allocUnsafeSlow = function (size) { 48 | if (typeof size !== 'number') { 49 | throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) 50 | } 51 | if (size < 0 || size >= 2 * (1 << 30)) { 52 | throw new RangeError('The value "' + size + '" is invalid for option "size"') 53 | } 54 | return buffer.SlowBuffer(size) 55 | } 56 | } 57 | 58 | module.exports = dangerous 59 | -------------------------------------------------------------------------------- /100js-learn/node_modules/_safer-buffer@2.1.2@safer-buffer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "safer-buffer", 3 | "version": "2.1.2", 4 | "description": "Modern Buffer API polyfill without footguns", 5 | "main": "safer.js", 6 | "scripts": { 7 | "browserify-test": "browserify --external tape tests.js > browserify-tests.js && tape browserify-tests.js", 8 | "test": "standard && tape tests.js" 9 | }, 10 | "author": { 11 | "name": "Nikita Skovoroda", 12 | "email": "chalkerx@gmail.com", 13 | "url": "https://github.com/ChALkeR" 14 | }, 15 | "license": "MIT", 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/ChALkeR/safer-buffer.git" 19 | }, 20 | "bugs": { 21 | "url": "https://github.com/ChALkeR/safer-buffer/issues" 22 | }, 23 | "devDependencies": { 24 | "standard": "^11.0.1", 25 | "tape": "^4.9.0" 26 | }, 27 | "files": [ 28 | "Porting-Buffer.md", 29 | "Readme.md", 30 | "tests.js", 31 | "dangerous.js", 32 | "safer.js" 33 | ], 34 | "__npminstall_done": "Fri Aug 21 2020 14:20:34 GMT+0800 (GMT+08:00)", 35 | "_from": "safer-buffer@2.1.2", 36 | "_resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz" 37 | } -------------------------------------------------------------------------------- /100js-learn/node_modules/js-base64/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, Dan Kogai 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of {{{project}}} nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /100js-learn/node_modules/js-base64/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "_from": "js-base64", 3 | "_id": "js-base64@3.4.5", 4 | "_inBundle": false, 5 | "_integrity": "sha512-Ub/AANierdcT8nm4ndBn3KzpZQ3MdHX4a+bwoVdjgeHCZ0ZEcP+UB4nmR4Z5lR6SH3Y+qAPmgVR0RxKJNHNHEg==", 6 | "_location": "/js-base64", 7 | "_phantomChildren": {}, 8 | "_requested": { 9 | "type": "tag", 10 | "registry": true, 11 | "raw": "js-base64", 12 | "name": "js-base64", 13 | "escapedName": "js-base64", 14 | "rawSpec": "", 15 | "saveSpec": null, 16 | "fetchSpec": "latest" 17 | }, 18 | "_requiredBy": [ 19 | "#USER", 20 | "/" 21 | ], 22 | "_resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.4.5.tgz", 23 | "_shasum": "6d1921e65a172cfd924604e1416dfaff45752c3e", 24 | "_spec": "js-base64", 25 | "_where": "C:\\Users\\DELL\\Desktop\\untitled\\100js-learn", 26 | "author": { 27 | "name": "Dan Kogai" 28 | }, 29 | "bugs": { 30 | "url": "https://github.com/dankogai/js-base64/issues" 31 | }, 32 | "bundleDependencies": false, 33 | "deprecated": false, 34 | "description": "Yet another Base64 transcoder in pure-JS", 35 | "devDependencies": { 36 | "@types/node": "^14.0.26", 37 | "esm": "^3.2.25", 38 | "mocha": "^8.0.0", 39 | "typescript": "^3.9.7" 40 | }, 41 | "files": [ 42 | "base64.js", 43 | "base64.mjs", 44 | "base64.d.ts" 45 | ], 46 | "homepage": "https://github.com/dankogai/js-base64#readme", 47 | "keywords": [ 48 | "base64", 49 | "binary" 50 | ], 51 | "license": "BSD-3-Clause", 52 | "main": "base64.js", 53 | "module": "base64.mjs", 54 | "name": "js-base64", 55 | "repository": { 56 | "type": "git", 57 | "url": "git+https://github.com/dankogai/js-base64.git" 58 | }, 59 | "scripts": { 60 | "test": "make clean && make test" 61 | }, 62 | "types": "base64.d.ts", 63 | "version": "3.4.5" 64 | } 65 | -------------------------------------------------------------------------------- /100js-learn/pphuyu.js: -------------------------------------------------------------------------------- 1 | function enCode(a, b) { 2 | for (var b = b, c = a.length, d = b.length, e = "", f = 0; c > f; f++) 3 | e += String.fromCharCode(a.charAt(f).charCodeAt(0) + b.charAt(f % d).charCodeAt(0)); 4 | return enCodeFun(e) 5 | } 6 | function enCodeFun(a) { 7 | if (!/([^\u0000-\u00ff])/.test(a)) { 8 | for (var b, c, d, e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", f = 0, g = []; f < a.length; ) { 9 | switch (b = a.charCodeAt(f), 10 | d = (f + 1) % 3) { 11 | case 1: 12 | g.push(e.charAt(b >> 2)); 13 | break; 14 | case 2: 15 | g.push(e.charAt((3 & c) << 4 | b >> 4)); 16 | break; 17 | case 0: 18 | g.push(e.charAt((15 & c) << 2 | b >> 6)), 19 | g.push(e.charAt(63 & b)) 20 | } 21 | c = b, 22 | f++ 23 | } 24 | return 1 == d ? (g.push(e.charAt((3 & c) << 4)), 25 | g.push("==")) : 2 == d && (g.push(e.charAt((15 & c) << 2)), 26 | g.push("=")), 27 | g.join("") 28 | } 29 | } 30 | var username = "13612345678", 31 | password = "123456789", 32 | vcode = "ymii"; 33 | var i = "type=ajax&from=web&username="+username+"&password="+password+"&vcode="+vcode+"&appplt=web&appid=vas&channel=208000103007&sceneFlag=1"; 34 | i = encodeURIComponent(i), 35 | i = enCode(i, "ppvaslogin") 36 | console.log(i) -------------------------------------------------------------------------------- /100js-learn/qinghaiyidong.js: -------------------------------------------------------------------------------- 1 | const CryptoJS = require("crypto-js"); 2 | function encryptByDES(message) { 3 | var keyHex = CryptoJS.enc.Utf8.parse("Pju8aD5buk8="); 4 | var encrypted = CryptoJS.DES.encrypt(message, keyHex, { 5 | mode: CryptoJS.mode.ECB, 6 | padding: CryptoJS.pad.Pkcs7 7 | }); 8 | return encrypted.toString(); 9 | } 10 | var param = { 11 | "mobile" :encryptByDES("13612345678"), 12 | "pwd" :encryptByDES("123456"), 13 | "yzm" : encryptByDES("6542"), 14 | "loginType" : encryptByDES("0") 15 | }; 16 | console.log(param) -------------------------------------------------------------------------------- /100js-learn/souhushandianyou.js: -------------------------------------------------------------------------------- 1 | var md5 = require("md5-node"); 2 | console.log(md5("123456789")) -------------------------------------------------------------------------------- /100js-learn/tuandaiwang.js: -------------------------------------------------------------------------------- 1 | var JSEncrypt = require("node-jsencrypt") 2 | var rsaKey = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfW0nAJhi0w2vqRq29OSyshPCKutw7WWlbfI7nWTjWLtw6hGJ61pDuz50LC6KxbCVstGoFQe0fDtSZzNbd83UTF58vUQ9+Og1gFsHMukxkLVNn/nUAFY4AW+tTTg6jJUYes+i8i+JiGgMyf/go8cDXU0jLh9ZN9RMObh6RZ/K6xQIDAQAB"; 3 | var encrypt = new JSEncrypt(); 4 | encrypt.setPublicKey(rsaKey); 5 | un = encrypt.encrypt("13612345678"); 6 | console.log(un) 7 | pd = encrypt.encrypt("123456789"); 8 | console.log(pd) -------------------------------------------------------------------------------- /100js-learn/weiyunbaobei.js: -------------------------------------------------------------------------------- 1 | var Base64 = require("js-base64"); 2 | var md5 = require("md5-node"); 3 | function c(e, t) { 4 | return md5(e.toLowerCase() + md5(t)) 5 | } 6 | function params(e) { 7 | var t = "dafacloud_" + Math.random() 8 | , a = { 9 | random: Base64.encode("dafacloud_0.07865227770162764") 10 | } 11 | , i = c(e.userName, e.password); 12 | e.password = md5(i + t); 13 | e.random = a.random; 14 | return e 15 | } 16 | console.log(params({password:"123456789", userName:"13612345678"})) -------------------------------------------------------------------------------- /100js-learn/xiaoheihe.js: -------------------------------------------------------------------------------- 1 | const JSEncrypt = require("node-jsencrypt"); 2 | function enparam(param) { 3 | var encrypt = new JSEncrypt(); 4 | encrypt.setPublicKey("-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZgjVwAiKTjZ55nG+mW6r3TSU4\nECvNYqDMIS/bhCj2QaH5GI/KZb2TBp+CBvUj9SLFnmJQ0kzHzHoGZCQ88VevCffF7JePGF9cmKQqotlfTKbV4oxV5iLz7JSG6b/Vg7AXtrTolNtWsa8HiB0tI0YClYaQlOXm4UxLeSxQwSFETwIDAQAB\n-----END PUBLIC KEY-----\n") 5 | return encrypt.encrypt(param) 6 | } 7 | var phone_num="136123465678"; 8 | console.log(enparam(phone_num)); 9 | var pwd="123456789"; 10 | console.log(enparam(pwd)); 11 | 12 | const md5 = require("md5-node"); 13 | function param() { 14 | var e = Math.floor((new Date).getTime() / 1e3); 15 | return { 16 | hkey: md5(md5("web/_time=" + e).replace(/b/gi, "web")), 17 | _time: e 18 | } 19 | } 20 | console.log(param()) 21 | -------------------------------------------------------------------------------- /100js-learn/xiaoyinglicai.js: -------------------------------------------------------------------------------- 1 | var md5 = require("md5-node"); 2 | console.log(md5("j123456789")) -------------------------------------------------------------------------------- /100js-learn/yiban.js: -------------------------------------------------------------------------------- 1 | const JSEncrypt = require("node-jsencrypt"); 2 | var encrypt = new JSEncrypt(); 3 | encrypt.setPublicKey("-----BEGIN PUBLIC KEY-----\n" + 4 | "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvExXdIzzS4GZbHMXj1ebRGhMZ\n" + 5 | "2Oof2zyTh2MXlgD/E5oRucvZ2aGs0+5oN/AP+g3Mt7K3IGA5iUtfqitwrkoCLt43\n" + 6 | "QrbHLuzf3MdoXrXOlMJd5vq3YNZjV84EFDg/7yG9iA7esr1sLgGLmc3R5D/KJ2ga\n" + 7 | "28EG3Cx4qxMoR2Ow7QIDAQAB\n" + 8 | "-----END PUBLIC KEY-----\n") 9 | console.log(encrypt.encrypt("123456789").length) -------------------------------------------------------------------------------- /100js-learn/zhaoxiwang.js: -------------------------------------------------------------------------------- 1 | var md5 = require("md5-node"); 2 | console.log(md5("123456789")) -------------------------------------------------------------------------------- /100js-learn/zhenaiwang.js: -------------------------------------------------------------------------------- 1 | const JSEncrypt = require("node-jsencrypt"); 2 | var r = new JSEncrypt({ 3 | default_key_size: 2048 4 | }); 5 | r.setPublicKey("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApCNjsTlE3AIR1YXyhE9M5SQ9xf1o0+W528nLdvI7ZmCOdFMed8SA3L91YFP+8wBl1we6BwVQBHo/4OQwUNlwVE7BgtsV5D67/rR74d0vGJNLBNMx6V3D/Uf+QgXBlPESWRwRkkHl2RbzTWbI60X0mLTxkvvpEYSvgFytlv5QL+on3TKp/Q4UiUk4MmWnY1taNLw7rAM8/HXYotC+jnhMgjvYEf5Ank/F0Tm4WZq/QlJcT2pOEN8vanGT325XhyshdqZJgG2IT1nt5EdtVjXySF9AMpnA2Cmz35Qygy/rx3+0+82yBpCgxjv0O7pYvtJ5tIXWkcUB3V6HtXiCkMNWRwIDAQAB") 6 | console.log(r.encrypt("123456789")) -------------------------------------------------------------------------------- /100js-learn/zhiwangcaifu.js: -------------------------------------------------------------------------------- 1 | var md5 = require("md5-node"); 2 | var _nodeCryptojsAes = require('node-cryptojs-aes'); 3 | var ZeroPadding = { 4 | pad: function(e, r) { 5 | var t = 4 * r; 6 | e.clamp(), 7 | e.sigBytes += t - (e.sigBytes % t || t) 8 | }, 9 | unpad: function(e) { 10 | for (var r = e.words, t = e.sigBytes - 1; !(r[t >>> 2] >>> 24 - t % 4 * 8 & 255); ) 11 | t--; 12 | e.sigBytes = t + 1 13 | } 14 | }; 15 | function encrypt(e, r, t) { 16 | var o = { 17 | iv: t, 18 | padding: ZeroPadding 19 | }; 20 | return _nodeCryptojsAes.CryptoJS.AES.encrypt(e, r, o).ciphertext.toString(_nodeCryptojsAes.CryptoJS.enc.Base64) 21 | } 22 | function encryptPayload(e) { 23 | (e = e || {}).password && (e.password = md5("".concat(e.password, "qxfsn3.1415926535"))); 24 | var i = "creditease" 25 | , r = "31a7e23f-5d1a-4d2c-abff-24a85261bf24"; 26 | i && (e.channel = i), 27 | r && (e.device_guid = r); 28 | var s = "xTKhhXdx9aTTORImW0C+ZBpIbc3upWvI" 29 | , a = "9zzCYsvN99c=" 30 | , t = _nodeCryptojsAes.CryptoJS.enc.Latin1.parse(s) 31 | , o = _nodeCryptojsAes.CryptoJS.enc.Latin1.parse(s.substr(0, 16)); 32 | return { 33 | data: encrypt(JSON.stringify(e), t, o), 34 | ksi: a, 35 | em: "a1" 36 | } 37 | } 38 | console.log(encryptPayload({phone: "13612345678",password: "123456789", 39 | source: "desktop"})) -------------------------------------------------------------------------------- /100js-learn/zhongguoshangjiwang.js: -------------------------------------------------------------------------------- 1 | var md5 = require("md5-node"); 2 | console.log(md5("123456789")) -------------------------------------------------------------------------------- /100js-learn/zhulong.js: -------------------------------------------------------------------------------- 1 | const JSEncrypt = require("node-jsencrypt") 2 | function encrypt(msg) { 3 | var encrypt = new JSEncrypt(); 4 | encrypt.setPublicKey('-----BEGIN PUBLIC KEY-----MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrWVnSOu9m7O8X3taQGXzVlB9B0Gw1Mvbc0MxKZOxT8SlQVB1Krpu3KfuoxgGE1TikX/JkYJf+D4tTqENqk5pnSZc784gWZPEs2O+uz5R/8Ay8qP06uHDzw1oGDrpo8wxWQ7Ae2IwE2gTDtpcyg8NUJp14uYwsvA47iDpXHGmPxQIDAQAB-----END PUBLIC KEY-----'); 5 | return encrypt.encrypt(msg); 6 | } 7 | console.log(encrypt("123456789")) -------------------------------------------------------------------------------- /dx/wyserver.js: -------------------------------------------------------------------------------- 1 | var express = require("express"); 2 | var bodyParser = require('body-parser'); 3 | var dp = require("C:\\Users\\DELL\\Desktop\\untitled\\dingxiang\\codetest.js"); 4 | var en = require("C:\\Users\\DELL\\Desktop\\untitled\\dingxiang\\ua95.js"); 5 | // var en = require("C:\\Users\\DELL\\Desktop\\untitled\\dingxiang\\ua.js"); 6 | var api = express(); 7 | api.use(bodyParser.urlencoded({ 8 | parameterLimit: 50000, 9 | limit: '50mb', 10 | extended: false 11 | })); 12 | 13 | function randomNum(minNum,maxNum){ 14 | switch(arguments.length){ 15 | case 1: 16 | return parseInt(Math.random()*minNum+1,10); 17 | break; 18 | case 2: 19 | return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); 20 | break; 21 | default: 22 | return 0; 23 | break; 24 | } 25 | } 26 | 27 | api.get('/param1', function(req, res){ 28 | var callback = dp.param()[0](); 29 | console.log("callback: " + callback); 30 | res.send(callback) 31 | }); 32 | 33 | api.get('/param2', function(req, res){ 34 | var callback = dp.param()[1](); 35 | console.log("callback: " + callback); 36 | res.send(callback) 37 | }); 38 | 39 | api.post('/en', function(req, res){ 40 | var silde = JSON.parse(req.body.silde)["us"]; 41 | var token = req.body.token; 42 | var tag = req.body.tag; 43 | var Pt = en.et; 44 | var encropy = new Pt({token:token}); 45 | encropy.getMD(); 46 | encropy.getMM("",silde[0]); 47 | for (var i=0; i silde.length){ 50 | encropy.getMM("dx_captcha_basic_slider-img-focus_2",silde[silde.length-1]); 51 | }else {encropy.getMM("dx_captcha_basic_slider-img-focus_2",silde[i]);} 52 | } 53 | for (var i=0; i(.*?).*?', re.S) 12 | text = re.search(pattern, get_m.text) 13 | m = requests.post("http://127.0.0.1:8091/Cookie", data={"tt": text.group(1).replace("global", 'yeyue')}) 14 | headers.update({ 15 | 'cookie': 'sessionid='+requests.utils.dict_from_cookiejar(get_m.cookies).get("sessionid")+'; '+m.text 16 | }) 17 | tt1 = requests.get("http://match.yuanrenxue.com/match/9", headers=headers) 18 | 19 | for num in range(1, 6): 20 | req = requests.get("http://match.yuanrenxue.com/api/match/9?page={0}".format(num), headers=headers) 21 | print(req.url) 22 | print(req.status_code) 23 | print(req.json()) 24 | 25 | -------------------------------------------------------------------------------- /yuanrenxue/09/wyserver.js: -------------------------------------------------------------------------------- 1 | var express = require("express"); 2 | var bodyParser = require('body-parser'); 3 | var mm = require("9.js"); 4 | var api = express(); 5 | api.use(bodyParser.urlencoded({ 6 | parameterLimit: 50000, 7 | limit: '50mb', 8 | extended: false 9 | })); 10 | 11 | api.post('/Cookie', function(req, res){ 12 | var tt = req.body.tt; 13 | var callback = mm.mm(tt); 14 | console.log("callback: " + callback); 15 | res.send(callback) 16 | }); 17 | 18 | var server = api.listen(8091, function () { 19 | 20 | }); -------------------------------------------------------------------------------- /yuanrenxue/10/test.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import re 3 | import base64 4 | 5 | def main(): 6 | url = 'http://match.yuanrenxue.com/match/10' 7 | response = requests.get(url) 8 | sessionid = re.findall('(?<=sessionid=).+?(?=;)', response.headers['Set-Cookie'])[0] 9 | headers = { 10 | 'cookie': 'sessionid=' + sessionid, 11 | 'User-Agent': 'yuanrenxue.project' 12 | } 13 | uf = int(re.findall('\d+(?=;var iil)', response.text)[0]) 14 | encryptdata = requests.get("http://match.yuanrenxue.com/stati/mu/rsnkw2ksph", headers=headers).text[17:-1] 15 | decryptdata = base64.b64decode( 16 | ''.join([chr(ord(encryptdata[i]) - i % uf - 50) for i in range(len(encryptdata))]).encode()).decode() 17 | data = re.findall("\d+?(?= \+ _yrxCxm)", decryptdata) 18 | t = requests.get("http://match.yuanrenxue.com/api/offset", headers=headers) 19 | t1 = t.text[-4:].strip() 20 | for page in range(1, 6): 21 | print({"ur": "/api/match/10?page="+str(page), "b1": data[0],"b2": data[1],"b3": data[2], "t1": t1}) 22 | tar_url = requests.post("http://127.0.0.1:8091/url", data={"ur": "/api/match/10?page="+str(page), 23 | "b1": data[0], 24 | "b2": data[1], 25 | "b3": data[2], 26 | "t1": t1}) 27 | req = requests.get(tar_url.text, headers=headers) 28 | print(req.json()) 29 | print(req.json().get("k").get("k").split("|")[-1]) 30 | t1 = req.json().get("k").get("k").split("|")[-1] 31 | 32 | 33 | 34 | main() 35 | -------------------------------------------------------------------------------- /yuanrenxue/10/wyserver.js: -------------------------------------------------------------------------------- 1 | var express = require("express"); 2 | var bodyParser = require('body-parser'); 3 | var mm = require("10.js"); 4 | var api = express(); 5 | api.use(bodyParser.urlencoded({ 6 | parameterLimit: 50000, 7 | limit: '50mb', 8 | extended: false 9 | })); 10 | 11 | api.post('/url', function(req, res){ 12 | var ur = req.body.ur; 13 | var b1 = req.body.b1; 14 | var b2 = req.body.b2; 15 | var b3 = req.body.b3; 16 | var t1 = req.body.t1; 17 | var callback = mm._url(ur,b1,b2,b3,t1); 18 | console.log("callback: " + callback); 19 | res.send(callback) 20 | }); 21 | 22 | var server = api.listen(8091, function () { 23 | 24 | }); -------------------------------------------------------------------------------- /读取大文件.py: -------------------------------------------------------------------------------- 1 | #读取大文件中某个字的次数 2 | def count_str(f, target): 3 | buf = "" 4 | count_target = 0 5 | while True: 6 | while target in buf: 7 | pos = buf.index(target) 8 | count_target += 1 9 | yield buf[:pos + len(target)] 10 | buf = buf[pos + len(target):] 11 | chunk = f.read(1024) 12 | 13 | if not chunk: 14 | yield buf 15 | break 16 | buf += chunk 17 | print({target: count_target}) 18 | 19 | 20 | with open("input.txt") as f: 21 | for line in count_str(f, "new"): 22 | print(line) 23 | 24 | 25 | --------------------------------------------------------------------------------