binary and base64 ouput added

pull/23/head
Franck ALARY 3 years ago
parent b6c443143f
commit c5b495d8ae

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

@ -0,0 +1,53 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="65bbc7fe-fd0b-4d19-9a2c-8fb448542037" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/sha512.js" beforeDir="false" afterPath="$PROJECT_DIR$/src/sha512.js" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ComposerSettings">
<execution />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="MacroExpansionManager">
<option name="directoryName" value="o8hud8ug" />
</component>
<component name="ProjectId" id="2HzAtiOaTU7Gxqf0hkh7jwxmny8" />
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="WebServerToolWindowFactoryState" value="false" />
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
<property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
<property name="nodejs_npm_path_reset_for_default_project" value="true" />
<property name="nodejs_package_manager_path" value="npm" />
<property name="vue.rearranger.settings.migration" value="true" />
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="65bbc7fe-fd0b-4d19-9a2c-8fb448542037" name="Changes" comment="" />
<created>1669277754368</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1669277754368</updated>
<workItem from="1669277755519" duration="393000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
</project>

@ -112,9 +112,12 @@ sha512_224('中文'); // 0f46a0ae7f226517dd66ece0ce1efa29ffb7ced05ac4566fdcaed18
// Different output
sha512(''); // cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
sha512.hex(''); // cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
sha512.hexBase64(''); // Y2Y4M2UxMzU3ZWVmYjhiZGYxNTQyODUwZDY2ZDgwMDdkNjIwZTQwNTBiNTcxNWRjODNmNGE5MjFkMzZjZTljZTQ3ZDBkMTNjNWQ4NWYyYjBmZjgzMThkMjg3N2VlYzJmNjNiOTMxYmQ0NzQxN2E4MWE1MzgzMjdhZjkyN2RhM2U=
sha512.array(''); // [207, 131, 225, 53, 126, 239, 184, 189, 241, 84, 40, 80, 214, 109, 128, 7, 214, 32, 228, 5, 11, 87, 21, 220, 131, 244, 169, 33, 211, 108, 233, 206, 71, 208, 209, 60, 93, 133, 242, 176, 255, 131, 24, 210, 135, 126, 236, 47, 99, 185, 49, 189, 71, 65, 122, 129, 165, 56, 50, 122, 249, 39, 218, 62]
sha512.digest(''); // [207, 131, 225, 53, 126, 239, 184, 189, 241, 84, 40, 80, 214, 109, 128, 7, 214, 32, 228, 5, 11, 87, 21, 220, 131, 244, 169, 33, 211, 108, 233, 206, 71, 208, 209, 60, 93, 133, 242, 176, 255, 131, 24, 210, 135, 126, 236, 47, 99, 185, 49, 189, 71, 65, 122, 129, 165, 56, 50, 122, 249, 39, 218, 62]
sha512.arrayBuffer(''); // ArrayBuffer
sha512.binary(''); // Ï<>á5~︽ñT(PÖm<C396><6D>Ö ä<><C3A4>W<EFBFBD>Ü<EFBFBD>ô©!ÓléÎGÐÑ<]<5D>ò°ÿ<C2B0><C3BF>Ò<EFBFBD>~ì/c¹1½GAz<41>¥82zù'Ú>
sha512.binaryBase64(''); // z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==
```
## License

@ -73,7 +73,7 @@
0x5FCB6FAB, 0x3AD6FAEC, 0x6C44198C, 0x4A475817
];
var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];
var OUTPUT_TYPES = ['hex', 'hexBase64', 'array', 'digest', 'arrayBuffer', 'binary', 'binaryBase64'];
var blocks = [];
@ -722,6 +722,10 @@
Sha512.prototype.toString = Sha512.prototype.hex;
Sha512.prototype.hexBase64 = function () {
return btoa(this.hex());
};
Sha512.prototype.digest = function () {
this.finalize();
@ -765,6 +769,18 @@
Sha512.prototype.array = Sha512.prototype.digest;
Sha512.prototype.binary = function () {
return this.digest()
.map(function (v) {
return String.fromCharCode(v);
})
.join('');
};
Sha512.prototype.binaryBase64 = function () {
return btoa(this.binary());
};
Sha512.prototype.arrayBuffer = function () {
this.finalize();

Loading…
Cancel
Save