Skip to content

Instantly share code, notes, and snippets.

View deiu's full-sized avatar

Andrei deiu

View GitHub Profile
@deiu
deiu / linkheaderparser.js
Last active July 25, 2019 11:34
Parse HTTP Link header in Javascript
// parse a Link header
//
// Link:<https://example.org/.meta>; rel=meta
//
// var r = parseLinkHeader(xhr.getResponseHeader('Link');
// r['meta'] outputs https://example.org/.meta
//
function parseLinkHeader(header) {
var linkexp = /<[^>]*>\s*(\s*;\s*[^\(\)<>@,;:"\/\[\]\?={} \t]+=(([^\(\)<>@,;:"\/\[\]\?={} \t]+)|("[^"]*")))*(,|$)/g;
var paramexp = /[^\(\)<>@,;:"\/\[\]\?={} \t]+=(([^\(\)<>@,;:"\/\[\]\?={} \t]+)|("[^"]*"))/g;
did:muport:QmPoZWgtvv8NQAkmfz6vBCrGQqb2nuBJgcrVLDb4Gqyz2e
@deiu
deiu / PBKDF2_to_AES.dart
Last active February 13, 2020 15:50
Generate AES key using PBDKF2 password derivation
import 'package:steel_crypt/steel_crypt.dart';
import 'dart:convert';
void main() async {
final passHash = PassCrypt('SHA-256/HMAC/PBKDF2');
final ivsalt = CryptKey().genDart(16);
final derivationPassword = 'foobar';
final derivedHash = passHash.hashPass(ivsalt, derivationPassword);
// prepare the key to be used by AesCrypt
final derivedBytes = base64Decode(derivedHash);
@deiu
deiu / webcryptoapi.html
Last active January 7, 2024 21:18
Web Crypto API example: RSA keygen & export & import & sign & verify & encrypt & decrypt
<!-- MIT License -->
<html>
<head>
<script>
function generateKey(alg, scope) {
return new Promise(function(resolve) {
var genkey = crypto.subtle.generateKey(alg, true, scope)
genkey.then(function (pair) {
resolve(pair)
})