# Forge
[![npm package](https://nodei.co/npm/node-forge.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/node-forge/)
[![Build status](https://img.shields.io/travis/digitalbazaar/forge.svg?branch=master)](https://travis-ci.org/digitalbazaar/forge)
A native implementation of [TLS][] (and various other cryptographic tools) in
[JavaScript][].
Introduction
------------
The Forge software is a fully native implementation of the [TLS][] protocol
in JavaScript, a set of cryptography utilities, and a set of tools for
developing Web Apps that utilize many network resources.
Performance
------------
Forge is fast. Benchmarks against other popular JavaScript cryptography
libraries can be found here:
* http://dominictarr.github.io/crypto-bench/
* http://cryptojs.altervista.org/test/simulate-threading-speed_test.html
Documentation
-------------
* [Introduction](#introduction)
* [Performance](#performance)
* [Installation](#installation)
* [Testing](#testing)
* [Contributing](#contributing)
### API
* [Options](#options)
### Transports
* [TLS](#tls)
* [HTTP](#http)
* [SSH](#ssh)
* [XHR](#xhr)
* [Sockets](#socket)
### Ciphers
* [CIPHER](#cipher)
* [AES](#aes)
* [DES](#des)
* [RC2](#rc2)
### PKI
* [ED25519](#ed25519)
* [RSA](#rsa)
* [RSA-KEM](#rsakem)
* [X.509](#x509)
* [PKCS#5](#pkcs5)
* [PKCS#7](#pkcs7)
* [PKCS#8](#pkcs8)
* [PKCS#10](#pkcs10)
* [PKCS#12](#pkcs12)
* [ASN.1](#asn)
### Message Digests
* [SHA1](#sha1)
* [SHA256](#sha256)
* [SHA384](#sha384)
* [SHA512](#sha512)
* [MD5](#md5)
* [HMAC](#hmac)
### Utilities
* [Prime](#prime)
* [PRNG](#prng)
* [Tasks](#task)
* [Utilities](#util)
* [Logging](#log)
* [Debugging](#debug)
* [Flash Networking Support](#flash)
### Other
* [Security Considerations](#security-considerations)
* [Library Background](#library-background)
* [Contact](#contact)
* [Donations](#donations)
---------------------------------------
Installation
------------
**Note**: Please see the [Security Considerations](#security-considerations)
section before using packaging systems and pre-built files.
Forge uses a [CommonJS][] module structure with a build process for browser
bundles. The older [0.6.x][] branch with standalone files is available but will
not be regularly updated.
### Node.js
If you want to use forge with [Node.js][], it is available through `npm`:
https://npmjs.org/package/node-forge
Installation:
npm install node-forge
You can then use forge as a regular module:
```js
var forge = require('node-forge');
```
The npm package includes pre-built `forge.min.js`, `forge.all.min.js`, and
`prime.worker.min.js` using the [UMD][] format.
### Bundle / Bower
Each release is published in a separate repository as pre-built and minimized
basic forge bundles using the [UMD][] format.
https://github.com/digitalbazaar/forge-dist
This bundle can be used in many environments. In particular it can be installed
with [Bower][]:
bower install forge
### jsDelivr CDN
To use it via [jsDelivr](https://www.jsdelivr.com/package/npm/node-forge) include this in your html:
```html
<script src="https://cdn.jsdelivr.net/npm/node-forge@0.7.0/dist/forge.min.js"></script>
```
### unpkg CDN
To use it via [unpkg](https://unpkg.com/#/) include this in your html:
```html
<script src="https://unpkg.com/node-forge@0.7.0/dist/forge.min.js"></script>
```
### Development Requirements
The core JavaScript has the following requirements to build and test:
* Building a browser bundle:
* Node.js
* npm
* Testing
* Node.js
* npm
* Chrome, Firefox, Safari (optional)
Some special networking features can optionally use a Flash component. See the
[Flash README](./flash/README.md) for details.
### Building for a web browser
To create single file bundles for use with browsers run the following:
npm install
npm run build
This will create single non-minimized and minimized files that can be
included in the browser:
dist/forge.js
dist/forge.min.js
A bundle that adds some utilities and networking support is also available:
dist/forge.all.js
dist/forge.all.min.js
Include the file via:
```html
<script src="YOUR_SCRIPT_PATH/forge.js"></script>
```
or
```html
<script src="YOUR_SCRIPT_PATH/forge.min.js"></script>
```
The above bundles will synchronously create a global 'forge' object.
**Note**: These bundles will not include any WebWorker scripts (eg:
`dist/prime.worker.js`), so these will need to be accessible from the browser
if any WebWorkers are used.
### Building a custom browser bundle
The build process uses [webpack][] and the [config](./webpack.config.js) file
can be modified to generate a file or files that only contain the parts of
forge you need.
[Browserify][] override support is also present in `package.json`.
Testing
-------
### Prepare to run tests
npm install
### Running automated tests with Node.js
Forge natively runs in a [Node.js][] environment:
npm test
### Running automated tests with Headless Chrome
Automated testing is done via [Karma][]. By default it will run the tests with
Headless Chrome.
npm run test-karma
Is 'mocha' reporter output too verbose? Other reporters are available. Try
'dots', 'progress', or 'tap'.
npm run test-karma -- --reporters progress
By default [webpack][] is used. [Browserify][] can also be used.
BUNDLER=browserify npm run test-karma
### Running automated tests with one or more browsers
You can also specify one or more browsers to use.
npm run test-karma -- --browsers Chrome,Firefox,Safari,ChromeHeadless
The reporter option and `BUNDLER` environment variable can also be used.
### Running manual tests in a browser
Testing in a browser uses [webpack][] to combine forge and all tests and then
loading the result in a browser. A simple web server is provided that will
output the HTTP or HTTPS URLs to load. It also will start a simple Flash Policy
Server. Unit tests and older legacy tests are provided. Custom ports can be
used by running `node tests/server.js` manually.
To run the unit tests in a browser a special forge build is required:
npm run test-build
To run legacy browser based tests the main forge build is required:
npm run build
The tests are run with a custom server that prints out the URLs to use:
npm run test-server
### Running other tests
There are some other random tests and benchmarks available in the tests
directory.
### Coverage testing
To perform coverage testing of the unit tests, run the following. The results
will be put in the `coverage/` directory. Note that coverage testing can slow
down some tests considerably.
npm install
npm run coverage
Contributing
------------
Any contributions (eg: PRs) that are accepted will be brought under the same
license used by the rest of the Forge project. This license allows Forge to
be used under the terms of either the BSD License or the GNU General Public
License (GPL) Version 2.
See: [LICENSE](https://github.com/digitalbazaar/forge/blob/cbebca3780658703d925b61b2caffb1d263a6c1d/LICENSE)
If a contribution contains 3rd party source code with its own license, it
may retain it, so long as that license is compatible with the Forge license.
API
---
<a name="options" />
### Options
If at any time you wish to disable the use of native code, where available,
for particular forge features like its secure random number generator, you
may set the ```forge.options.usePureJavaScript``` flag to ```true```. It is
not recommended that you set this flag as native code is typically more
performant and may have stronger security properties. It may be useful to
set this flag to test certain features that you plan to run in environments
that are different from your testing environment.
To disable native code when including forge in the browser:
```js
// run this *after* including the forge script
forge.options.usePureJavaScript = true;
```
To disable native code when using Node.js:
```js
var forge = require('node
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本资源是一个基于深度学习的交通流量检测系统,旨在通过先进的计算机视觉和深度学习技术,实现实时、准确的车流量统计。该系统利用YOLO网络进行车辆识别,结合改进后的DeepSORT算法进行精准追踪,并设计了一套完整的统计方法来确保数据的高准确性和实时性。项目不仅涵盖了数据采集、预处理、模型训练与验证等关键环节,还提供了详细的实验结果分析,展示了其在智能交通管理中的广泛应用前景。此资源是学习深度学习在交通领域应用的理想材料,适合相关专业的学生和研究人员参考使用。
资源推荐
资源详情
资源评论
收起资源包目录
基于深度学习的交通流量检测系统.zip (2000个子文件)
foo.css 28B
index.html 3KB
echarts.js 3.18MB
echarts.esm.js 2.86MB
echarts.common.js 2.09MB
element-plus.js 2.09MB
echarts.js 1.96MB
echarts.simple.js 1.51MB
echarts.min.js 999KB
echarts.esm.min.js 999KB
echarts-2eb7b14c.js 960KB
rollup.js 875KB
rollup.js 873KB
echarts.common.min.js 642KB
vue.global.js 463KB
echarts.simple.min.js 454KB
vue.esm-browser.js 435KB
rollup.browser.js 388KB
rollup.browser.js 387KB
vue.runtime.global.js 321KB
runtime-dom.esm-bundler-624e3408.js 315KB
vue.runtime.esm-browser.js 297KB
source-map.debug.js 266KB
icons.js 260KB
vue-router.global.js 154KB
vue-router.js 144KB
vue-router.esm-browser.js 141KB
watch.js 135KB
vue.esm-browser.prod.js 131KB
vue.global.prod.js 128KB
index.js 118KB
source-map.js 104KB
vue.runtime.esm-browser.prod.js 84KB
vue.runtime.global.prod.js 83KB
echarts.js 82KB
axios.js 71KB
container.js 63KB
parser.js 55KB
axios.js 54KB
index.js 49KB
node.js 46KB
index.js 44KB
vuex.js 43KB
index.es.js 43KB
LineView.js 40KB
source-map-consumer.js 40KB
CustomView.js 39KB
floating-ui.core.umd.js 38KB
magic-string.umd.js 36KB
magic-string.umd.js 36KB
lazy-result.js 36KB
SeriesData.js 36KB
floating-ui.core.esm.js 35KB
_stream_readable.js 35KB
stringifier.js 34KB
magic-string.cjs.js 33KB
magic-string.cjs.js 33KB
TooltipView.js 33KB
BarView.js 33KB
magic-string.es.js 33KB
magic-string.es.js 33KB
DataStore.js 33KB
tokenize.js 32KB
TreemapView.js 32KB
SliderZoomView.js 31KB
map-generator.js 30KB
Global.js 28KB
index.js 28KB
ContinuousView.js 28KB
MapDraw.js 27KB
parse.js 27KB
source-map.min.js 26KB
model.js 26KB
compactable.js 25KB
floating-ui.dom.umd.js 25KB
states.js 25KB
processor.js 25KB
BrushController.js 25KB
PictorialBarView.js 25KB
SliderTimelineView.js 25KB
tokenize.js 25KB
vue-router.global.prod.js 24KB
loadConfigFile.js 24KB
css-syntax-error.js 24KB
floating-ui.dom.esm.js 23KB
GaugeView.js 22KB
TreeView.js 22KB
_stream_writable.js 21KB
break-up.js 21KB
AxisBuilder.js 21KB
test.js 21KB
universalTransition.js 21KB
optimize.js 21KB
Scheduler.js 20KB
axios.min.js 20KB
index.js 20KB
resolver_sync.js 20KB
LegendView.js 20KB
index.iife.js 20KB
nodefs-handler.js 20KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
葡萄籽儿
- 粉丝: 492
- 资源: 854
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功