aad812ccff4ac/data/base/16384/16792">16792 058f31828c first commit 1 年間 前 16793 058f31828c first commit 1 年間 前 16795 058f31828c first commit 1 年間 前 16797 058f31828c first commit 1 年間 前 16800 058f31828c first commit 1 年間 前 16802 058f31828c first commit 1 年間 前 16803 058f31828c first commit 1 年間 前 16805 058f31828c first commit 1 年間 前 16807 058f31828c first commit 1 年間 前 16810 058f31828c first commit 1 年間 前 16812 058f31828c first commit 1 年間 前 16814 058f31828c first commit 1 年間 前 16817 058f31828c first commit 1 年間 前 16819 058f31828c first commit 1 年間 前 16821 058f31828c first commit 1 年間 前 16824 058f31828c first commit 1 年間 前 16831 058f31828c first commit 1 年間 前 16832 058f31828c first commit 1 年間 前 16843 058f31828c first commit 1 年間 前 16844 058f31828c first commit 1 年間 前 16850 058f31828c first commit 1 年間 前 16856 058f31828c first commit 1 年間 前 16862 058f31828c first commit 1 年間 前 16868 058f31828c first commit 1 年間 前 16869 058f31828c first commit 1 年間 前 16871 058f31828c first commit 1 年間 前 16874 058f31828c first commit 1 年間 前 16876 058f31828c first commit 1 年間 前 16877 058f31828c first commit 1 年間 前 16879 058f31828c first commit 1 年間 前 16887 058f31828c first commit 1 年間 前 16889 058f31828c first commit 1 年間 前 16892 058f31828c first commit 1 年間 前 16896 058f31828c first commit 1 年間 前 16898 058f31828c first commit 1 年間 前 16901 058f31828c first commit 1 年間 前 16903 058f31828c first commit 1 年間 前 16911 058f31828c first commit 1 年間 前 16917 058f31828c first commit 1 年間 前 16918 058f31828c first commit 1 年間 前 16922 058f31828c first commit 1 年間 前 16924 058f31828c first commit 1 年間 前 16926 058f31828c first commit 1 年間 前 16927 058f31828c first commit 1 年間 前 16928 058f31828c first commit 1 年間 前 16929 058f31828c first commit 1 年間 前 16932 058f31828c first commit 1 年間 前 16934 058f31828c first commit 1 年間 前 16941 058f31828c first commit 1 年間 前 16942 058f31828c first commit 1 年間 前 16944 058f31828c first commit 1 年間 前 16947 058f31828c first commit 1 年間 前 16949 058f31828c first commit 1 年間 前 16951 058f31828c first commit 1 年間 前 16952 058f31828c first commit 1 年間 前 16962 058f31828c first commit 1 年間 前 16964 058f31828c first commit 1 年間 前 16967 058f31828c first commit 1 年間 前 16969 058f31828c first commit 1 年間 前 16971 058f31828c first commit 1 年間 前 16974 058f31828c first commit 1 年間 前 16976 058f31828c first commit 1 年間 前 16978 058f31828c first commit 1 年間 前 16981 058f31828c first commit 1 年間 前 16983 058f31828c first commit 1 年間 前 16984 058f31828c first commit 1 年間 前 16986 058f31828c first commit 1 年間 前 16996 058f31828c first commit 1 年間 前 17008 058f31828c first commit 1 年間 前 17009 058f31828c first commit 1 年間 前 17020 058f31828c first commit 1 年間 前 17021 058f31828c first commit 1 年間 前 17022 058f31828c first commit 1 年間 前 17024 058f31828c first commit 1 年間 前 17034 058f31828c first commit 1 年間 前 17037 058f31828c first commit 1 年間 前 17039 058f31828c first commit 1 年間 前 17040 058f31828c first commit 1 年間 前 17041 058f31828c first commit 1 年間 前 17042 058f31828c first commit 1 年間 前 174 058f31828c first commit 1 年間 前 175 058f31828c first commit 1 年間 前 2187 058f31828c first commit 1 年間 前 2224 058f31828c first commit 1 年間 前 2328 058f31828c first commit 1 年間 前 2336 058f31828c first commit 1 年間 前 2337 058f31828c first commit 1 年間 前 2579 058f31828c first commit 1 年間 前 2600 058f31828c first commit 1 年間 前 2600_fsm 058f31828c first commit 1 年間 前 2600_vm 058f31828c first commit 1 年間 前 2601 058f31828c first commit 1 年間 前 2601_fsm 058f31828c first commit 1 年間 前 2601_vm 058f31828c first commit 1 年間 前 2602 058f31828c first commit 1 年間 前 2602_fsm 058f31828c first commit 1 年間 前 2602_vm 058f31828c first commit 1 年間 前 2603 058f31828c first commit 1 年間 前 2603_fsm 058f31828c first commit 1 年間 前 2603_vm 058f31828c first commit 1 年間 前 2604 058f31828c first commit 1 年間 前 2605 058f31828c first commit 1 年間 前 2605_fsm 058f31828c first commit 1 年間 前 2605_vm 058f31828c first commit 1 年間 前 2606 058f31828c first commit 1 年間 前 2606_fsm 058f31828c first commit 1 年間 前 2606_vm 058f31828c first commit 1 年間 前 2607 058f31828c first commit 1 年間 前 2607_fsm 058f31828c first commit 1 年間 前 2607_vm 058f31828c first commit 1 年間 前 2608 058f31828c first commit 1 年間 前 2608_fsm 058f31828c first commit 1 年間 前 2608_vm 058f31828c first commit 1 年間 前 2609 058f31828c first commit 1 年間 前 2609_fsm 058f31828c first commit 1 年間 前 2609_vm 058f31828c first commit 1 年間 前 2610 058f31828c first commit 1 年間 前 2610_fsm 058f31828c first commit 1 年間 前 2610_vm 058f31828c first commit 1 年間 前 2611 058f31828c first commit 1 年間 前 2612 058f31828c first commit 1 年間 前 2612_fsm 058f31828c first commit 1 年間 前 2612_vm 058f31828c first commit 1 年間 前 2613 058f31828c first commit 1 年間 前 2615 058f31828c first commit 1 年間 前 2615_fsm 058f31828c first commit 1 年間 前 2615_vm 058f31828c first commit 1 年間 前 2616 058f31828c first commit 1 年間 前 2616_fsm 058f31828c first commit 1 年間 前 2616_vm 058f31828c first commit 1 年間 前 2617 058f31828c first commit 1 年間 前 2617_fsm 058f31828c first commit 1 年間 前 2617_vm 058f31828c first commit 1 年間 前 2618 058f31828c first commit 1 年間 前 2618_fsm 058f31828c first commit 1 年間 前 2618_vm 058f31828c first commit 1 年間 前 2619 058f31828c first commit 1 年間 前 2619_fsm 058f31828c first commit 1 年間 前 2619_vm 058f31828c first commit 1 年間 前 2620 058f31828c first commit 1 年間 前 2620_fsm 058f31828c first commit 1 年間 前 2650 058f31828c first commit 1 年間 前 2651 058f31828c first commit 1 年間 前 2652 058f31828c first commit 1 年間 前 2653 058f31828c first commit 1 年間 前 2654 058f31828c first commit 1 年間 前 2655 058f31828c first commit 1 年間 前 2656 058f31828c first commit 1 年間 前 2657 058f31828c first commit 1 年間 前 2658 058f31828c first commit 1 年間 前 2659 058f31828c first commit 1 年間 前 2660 058f31828c first commit 1 年間 前 2661 058f31828c first commit 1 年間 前 2662 058f31828c first commit 1 年間 前 2663 058f31828c first commit 1 年間 前 2664 058f31828c first commit 1 年間 前 2665 058f31828c first commit 1 年間 前 2666 058f31828c first commit 1 年間 前 2667 058f31828c first commit 1 年間 前 2668 058f31828c first commit 1 年間 前 2669 058f31828c first commit 1 年間 前 2670 058f31828c first commit 1 年間 前 2673 058f31828c first commit 1 年間 前 2674 058f31828c first commit 1 年間 前 2675 058f31828c first commit 1 年間 前 2678 058f31828c first commit 1 年間 前 2679 058f31828c first commit 1 年間 前 2680 058f31828c first commit 1 年間 前 2681 058f31828c first commit 1 年間 前 2682 058f31828c first commit 1 年間 前 2683 058f31828c first commit 1 年間 前 2684 058f31828c first commit 1 年間 前 2685 058f31828c first commit 1 年間 前 2686 058f31828c first commit 1 年間 前 2687 058f31828c first commit 1 年間 前 2688 058f31828c first commit 1 年間 前 2689 058f31828c first commit 1 年間 前 2690 058f31828c first commit 1 年間 前 2691 058f31828c first commit 1 年間 前 2692 058f31828c first commit 1 年間 前 2693 058f31828c first commit 1 年間 前 2696 058f31828c first commit 1 年間 前 2699 058f31828c first commit 1 年間 前 2701 058f31828c first commit 1 年間 前 2702 058f31828c first commit 1 年間 前 2703 058f31828c first commit 1 年間 前 2704 058f31828c first commit 1 年間 前 2753 058f31828c first commit 1 年間 前 2753_fsm 058f31828c first commit 1 年間 前 2753_vm 058f31828c first commit 1 年間 前 2754 058f31828c first commit 1 年間 前 2755 058f31828c first commit 1 年間 前 2756 058f31828c first commit 1 年間 前 2757 058f31828c first commit 1 年間 前 2830 058f31828c first commit 1 年間 前 2831 058f31828c first commit 1 年間 前 2832 058f31828c first commit 1 年間 前 2833 058f31828c first commit 1 年間 前 2834 058f31828c first commit 1 年間 前 2835 058f31828c first commit 1 年間 前 2836 058f31828c first commit 1 年間 前 2837 058f31828c first commit 1 年間 前 2838 058f31828c first commit 1 年間 前 2838_fsm 058f31828c first commit 1 年間 前 2838_vm 058f31828c first commit 1 年間 前 2839 058f31828c first commit 1 年間 前 2840 058f31828c first commit 1 年間 前 2840_fsm 058f31828c first commit 1 年間 前 2840_vm 058f31828c first commit 1 年間 前 2841 058f31828c first commit 1 年間 前 2995 058f31828c first commit 1 年間 前 2996 058f31828c first commit 1 年間 前 3079 058f31828c first commit 1 年間 前 3079_fsm 058f31828c first commit 1 年間 前 3079_vm 058f31828c first commit 1 年間 前 3080 058f31828c first commit 1 年間 前 3081 058f31828c first commit 1 年間 前 3085 058f31828c first commit 1 年間 前 3118 058f31828c first commit 1 年間 前 3119 058f31828c first commit 1 年間 前 3164 058f31828c first commit 1 年間 前 3256 058f31828c first commit 1 年間 前 3257 058f31828c first commit 1 年間 前 3258 058f31828c first commit 1 年間 前 3350 058f31828c first commit 1 年間 前 3351 058f31828c first commit 1 年間 前 3379 058f31828c first commit 1 年間 前 3380 058f31828c first commit 1 年間 前 3381 058f31828c first commit 1 年間 前 3394 058f31828c first commit 1 年間 前 3394_fsm 058f31828c first commit 1 年間 前 3394_vm 058f31828c first commit 1 年間 前 3395 058f31828c first commit 1 年間 前 3429 058f31828c first commit 1 年間 前 3430 058f31828c first commit 1 年間 前 3431 058f31828c first commit 1 年間 前 3433 058f31828c first commit 1 年間 前 3439 058f31828c first commit 1 年間 前 3440 058f31828c first commit 1 年間 前 3455 058f31828c first commit 1 年間 前 3456 058f31828c first commit 1 年間 前 3456_fsm 058f31828c first commit 1 年間 前 3456_vm 058f31828c first commit 1 年間 前 3466 058f31828c first commit 1 年間 前 3467 058f31828c first commit 1 年間 前 3468 058f31828c first commit 1 年間 前 3501 058f31828c first commit 1 年間 前 3502 058f31828c first commit 1 年間 前 3503 058f31828c first commit 1 年間 前 3534 058f31828c first commit 1 年間 前 3541 058f31828c first commit 1 年間 前 3541_fsm 058f31828c first commit 1 年間 前 3541_vm 058f31828c first commit 1 年間 前 3542 058f31828c first commit 1 年間 前 3574 058f31828c first commit 1 年間 前 3575 058f31828c first commit 1 年間 前 3576 058f31828c first commit 1 年間 前 3596 058f31828c first commit 1 年間 前 3597 058f31828c first commit 1 年間 前 3598 058f31828c first commit 1 年間 前 3599 058f31828c first commit 1 年間 前 3600 058f31828c first commit 1 年間 前 3600_fsm 058f31828c first commit 1 年間 前 3600_vm 058f31828c first commit 1 年間 前 3601 058f31828c first commit 1 年間 前 3601_fsm 058f31828c first commit 1 年間 前 3601_vm 058f31828c first commit 1 年間 前 3602 058f31828c first commit 1 年間 前 3602_fsm 058f31828c first commit 1 年間 前 3602_vm 058f31828c first commit 1 年間 前 3603 058f31828c first commit 1 年間 前 3603_fsm 058f31828c first commit 1 年間 前 3603_vm 058f31828c first commit 1 年間 前 3604 058f31828c first commit 1 年間 前 3605 058f31828c first commit 1 年間 前 3606 058f31828c first commit 1 年間 前 3607 058f31828c first commit 1 年間 前 3608 058f31828c first commit 1 年間 前 3609 058f31828c first commit 1 年間 前 3712 058f31828c first commit 1 年間 前 3764 058f31828c first commit 1 年間 前 3764_fsm 058f31828c first commit 1 年間 前 3764_vm 058f31828c first commit 1 年間 前 3766 058f31828c first commit 1 年間 前 3767 058f31828c first commit 1 年間 前 3997 058f31828c first commit 1 年間 前 4143 058f31828c first commit 1 年間 前 4144 058f31828c first commit 1 年間 前 4145 058f31828c first commit 1 年間 前 4146 058f31828c first commit 1 年間 前 4147 058f31828c first commit 1 年間 前 4148 058f31828c first commit 1 年間 前 4149 058f31828c first commit 1 年間 前 4150 058f31828c first commit 1 年間 前 4151 058f31828c first commit 1 年間 前 4152 058f31828c first commit 1 年間 前 4153 058f31828c first commit 1 年間 前 4154 058f31828c first commit 1 年間 前 4155 058f31828c first commit 1 年間 前 4156 058f31828c first commit 1 年間 前 4157 058f31828c first commit 1 年間 前 4158 058f31828c first commit 1 年間 前 4159 058f31828c first commit 1 年間 前 4160 058f31828c first commit 1 年間 前 4161 058f31828c first commit 1 年間 前 4162 058f31828c first commit 1 年間 前 4163 058f31828c first commit 1 年間 前 4164 058f31828c first commit 1 年間 前 4165 058f31828c first commit 1 年間 前 4166 058f31828c first commit 1 年間 前 4167 058f31828c first commit 1 年間 前 4168 058f31828c first commit 1 年間 前 4169 058f31828c first commit 1 年間 前 4170 058f31828c first commit 1 年間 前 4171 058f31828c first commit 1 年間 前 4172 058f31828c first commit 1 年間 前 4173 058f31828c first commit 1 年間 前 4174 058f31828c first commit 1 年間 前 5002 058f31828c first commit 1 年間 前 548 058f31828c first commit 1 年間 前 549 058f31828c first commit 1 年間 前 6102 058f31828c first commit 1 年間 前 6104 058f31828c first commit 1 年間 前 6106 058f31828c first commit 1 年間 前 6110 058f31828c first commit 1 年間 前 6111 058f31828c first commit 1 年間 前 6112 058f31828c first commit 1 年間 前 6113 058f31828c first commit 1 年間 前 6117 058f31828c first commit 1 年間 前 826 058f31828c first commit 1 年間 前 827 058f31828c first commit 1 年間 前 828 058f31828c first commit 1 年間 前 PG_VERSION 058f31828c first commit 1 年間 前 pg_filenode.map 058f31828c first commit 1 年間 前 pg_internal.init 058f31828c first commit 1 年間 前 tum/tmt_learning - Gogs: Simplico Git Service

Няма описание

readme.markdown 6.6KB

object-hash

Generate hashes from objects and values in node and the browser. Uses node.js crypto module for hashing. Supports SHA1 and many others (depending on the platform) as well as custom streams (e.g. CRC32).

NPM

Travis CI Coverage Status

  • Hash values of any type.
  • Supports a keys only option for grouping similar objects with different values.
var hash = require('object-hash');

hash({foo: 'bar'}) // => '67b69634f9880a282c14a0f0cb7ba20cf5d677e9'
hash([1, 2, 2.718, 3.14159]) // => '136b9b88375971dff9f1af09d7356e3e04281951'

Versioning Disclaimer

Starting with version 1.1.8 (released April 2017), new versions will consider the exact returned hash part of the API contract, i.e. changes that will affect hash values will be considered semver-major. Previous versions may violate that expectation.

For more information, see this discussion.

hash(value, options)

Generate a hash from any object or type. Defaults to sha1 with hex encoding.

  • algorithm hash algo to be used: 'sha1', 'md5', 'passthrough'. default: sha1
    • This supports the algorithms returned by crypto.getHashes(). Note that the default of SHA-1 is not considered secure, and a stronger algorithm should be used if a cryptographical hash is desired.
    • This also supports the passthrough algorith, which will return the information that would otherwise have been hashed.
  • excludeValues {true|false} hash object keys, values ignored. default: false
  • encoding hash encoding, supports 'buffer', 'hex', 'binary', 'base64'. default: hex
  • ignoreUnknown {true|*false} ignore unknown object types. default: false
  • replacer optional function that replaces values before hashing. default: accept all values
  • respectFunctionProperties {true|false} Whether properties on functions are considered when hashing. default: true
  • respectFunctionNames {true|false} consider name property of functions for hashing. default: true
  • respectType {true|false} Whether special type attributes (.prototype, .__proto__, .constructor) are hashed. default: true
  • unorderedArrays {true|false} Sort all arrays before hashing. Note that this affects all collections, i.e. including typed arrays, Sets, Maps, etc. default: false
  • unorderedSets {true|false} Sort Set and Map instances before hashing, i.e. make hash(new Set([1, 2])) == hash(new Set([2, 1])) return true. default: true
  • unorderedObjects {true|false} Sort objects before hashing, i.e. make hash({ x: 1, y: 2 }) === hash({ y: 2, x: 1 }). default: true
  • excludeKeys optional function for excluding specific key(s) from hashing, if true is returned then exclude from hash. default: include all keys

hash.sha1(value)

Hash using the sha1 algorithm.

Note that SHA-1 is not considered secure, and a stronger algorithm should be used if a cryptographical hash is desired.

Sugar method, equivalent to hash(value, {algorithm: 'sha1'})

hash.keys(value)

Hash object keys using the sha1 algorithm, values ignored.

Sugar method, equivalent to hash(value, {excludeValues: true})

hash.MD5(value)

Hash using the md5 algorithm.

Note that the MD5 algorithm is not considered secure, and a stronger algorithm should be used if a cryptographical hash is desired.

Sugar method, equivalent to hash(value, {algorithm: 'md5'})

hash.keysMD5(value)

Hash object keys using the md5 algorithm, values ignored.

Note that the MD5 algorithm is not considered secure, and a stronger algorithm should be used if a cryptographical hash is desired.

Sugar method, equivalent to hash(value, {algorithm: 'md5', excludeValues: true})

hash.writeToStream(value, [options,] stream)

Write the information that would otherwise have been hashed to a stream, e.g.:

hash.writeToStream({foo: 'bar', a: 42}, {respectType: false}, process.stdout)
// => e.g. 'object:a:number:42foo:string:bar'

Installation

node:

npm install object-hash

browser: /dist/object_hash.js

<script src="object_hash.js" type="text/javascript"></script>

<script>
  var hash = objectHash.sha1({foo:'bar'});

  console.log(hash); // e003c89cdf35cdf46d8239b4692436364b7259f9
</script>

Example usage

var hash = require('object-hash');

var peter = { name: 'Peter', stapler: false, friends: ['Joanna', 'Michael', 'Samir'] };
var michael = { name: 'Michael', stapler: false, friends: ['Peter', 'Samir'] };
var bob = { name: 'Bob', stapler: true, friends: [] };

/***
 * sha1 hex encoding (default)
 */
hash(peter);
// 14fa461bf4b98155e82adc86532938553b4d33a9
hash(michael);
// 4b2b30e27699979ce46714253bc2213010db039c
hash(bob);
// 38d96106bc8ef3d8bd369b99bb6972702c9826d5

/***
 * hash object keys, values ignored
 */
hash(peter, { excludeValues: true });
// 48f370a772c7496f6c9d2e6d92e920c87dd00a5c
hash(michael, { excludeValues: true });
// 48f370a772c7496f6c9d2e6d92e920c87dd00a5c
hash.keys(bob);
// 48f370a772c7496f6c9d2e6d92e920c87dd00a5c

/***
 * hash object, ignore specific key(s)
 */
hash(peter, { excludeKeys: function(key) {
    if ( key === 'friends') {
      return true;
    }
    return false;
  }
});
// 66b7d7e64871aa9fda1bdc8e88a28df797648d80

/***
 * md5 base64 encoding
 */
hash(peter, { algorithm: 'md5', encoding: 'base64' });
// 6rkWaaDiG3NynWw4svGH7g==
hash(michael, { algorithm: 'md5', encoding: 'base64' });
// djXaWpuWVJeOF8Sb6SFFNg==
hash(bob, { algorithm: 'md5', encoding: 'base64' });
// lFzkw/IJ8/12jZI0rQeS3w==

Legacy Browser Support

IE <= 8 and Opera <= 11 support dropped in version 0.3.0. If you require legacy browser support you must either use an ES5 shim or use version 0.2.5 of this module.

Development

git clone https://github.com/puleos/object-hash

Node Docker Wrapper

If you want to stand this up in a docker container, you should take at look at the node-object-hash project.

gulp tasks

  • gulp watch (default) watch files, test and lint on change/add
  • gulp test unit tests
  • gulp karma browser unit tests
  • gulp lint jshint
  • gulp dist create browser version in /dist

License

MIT

Changelog

v2.0.0

Only Node.js versions >= 6.0.0 are being tested in CI now. No other breaking changes were introduced.