Skip to content

Instantly share code, notes, and snippets.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.3;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract ERC20Faucet {
ERC20 public token;
address public owner;
@gnpar
gnpar / buildasn1.py
Last active April 29, 2022 18:11
Generate an asn1parse config for an RSA private key given p,q and e
#!/usr/bin/env python
import sys
helptext = """
Redirect output to asn1.conf and then create and check the key with:
openssl asn1parse -genconf asn1.conf -out key.der
openssl rsa -in key.der -inform der -text -check
"""
#### Extended Euclidean Algorithm and Modular Inverse
@gnpar
gnpar / cipher2
Created June 26, 2016 16:07
cipher2
-----BEGIN PKCS7-----
MIIBZAYJKoZIhvcNAQcDoIIBVTCCAVECAQAxge0wgeoCAQAwUjBFMQswCQYDVQQG
EwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lk
Z2l0cyBQdHkgTHRkAgkAlvTaDnWYlCowDQYJKoZIhvcNAQEBBQAEgYGqOWEBXIO4
r7C5VMh2bD/+4KsHLrr2RgQi60Tvh+Tl/XHBLb620BgnumkF/aR7zyJy/vbq42Pt
G/mEY4Jh4p9ZVmyZ6mNrWweuaPLTdQxRbhmd8pSs6oNAUoFzZbID3jTI0eGEuIh4
jSPOL7u6fMC2aFJQ/f8TlVLZ290/ykOMVIEwXAYJKoZIhvcNAQcBMB0GCWCGSAFl
AwQBKgQQiNvKv8+5ZqJbhDNsJYYGOoAwS5ntsXTRtAQrJKjhnZFrJEVoQ91ALxA6
FeDXrCKsOG6KPilf9XOuho8iRp8dFqQ5
-----END PKCS7-----
@gnpar
gnpar / cipher1
Last active June 26, 2016 16:06
cipher1
-----BEGIN PKCS7-----
MIIBYwYJKoZIhvcNAQcDoIIBVDCCAVACAQAxgewwgekCAQAwUjBFMQswCQYDVQQG
EwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lk
Z2l0cyBQdHkgTHRkAgkA/dD3ZrhFTg4wDQYJKoZIhvcNAQEBBQAEgYCDOeuyk72d
XC9rWQsoe7mEl4G9IIYyAS+XVtG8HyiQUMl8LOWB8RxgdnPkgsiefFNFMISrAmP3
op/+2BbT5+2x5HRZitbUlAK6z7P2G3Iu3XIB9HBcHtMqmgWPXqCnqyIsSpB3Dzkd
6qpqJ+m+mqo1zHjDPscOQgnFC7x18MwnrjBcBgkqhkiG9w0BBwEwHQYJYIZIAWUD
BAEqBBBi6i+dRHrciarLgkra7mVXgDBiEqLm/XLhzfwVg15tP6f3wQZ0vBH0H2ez
rxELHsJMeY8242mUhn/95u+33rngnYQ=
-----END PKCS7-----
-----BEGIN CERTIFICATE-----
MIICWjCCAcKgAwIBAgIJAJb02g51mJQqMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTYwNjI0MjM1ODIxWhcNMTcwNjI0MjM1ODIxWjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGgMA0GCSqGSIb3DQEBAQUAA4GOADCBigKB
ggDXscQJWDX9duivGY0gW5OeWT0zRpaVoR4Cl0GY6yLwQL9TI0IYPmsavVv3UcGn
0lgeLxb2L/vzyE0L9n1pXUNb20sqv0ObIJVIufLneG9idJl/dgOAx+Tk0hXY7n3u
cZEtFzIE5ZBzXlHMfj1TweiS32kbPYbFA1+MakSlDRXonicCAwEAAaNQME4wHQYD
VR0OBBYEFDZ5zb2ORX1xPKLJ9qRLUOOKH0F2MB8GA1UdIwQYMBaAFDZ5zb2ORX1x
@gnpar
gnpar / PEM1
Last active June 26, 2016 16:06
PEM1
-----BEGIN CERTIFICATE-----
MIICWDCCAcGgAwIBAgIJAP3Q92a4RU4OMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTYwNjI0MjMzMjI1WhcNMTcwNjI0MjMzMjI1WjBF
MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
gQC3y67ttj4eXLkpGq/F2pZyVGBYOzKBD22MzXU2eSH2wPoRnVsDjSsiVJJUkgQs
gcPdbhkmxyAFCbj4qpr+F6z4wLz5pl4Yj8Qp978TAO4zFqTBjIVd57tGxGzUum1U
/1Li30uwcwtoVaQE+98HHjEx8QpCz9l/zMKbtzRJTnmAlQIDAQABo1AwTjAdBgNV
HQ4EFgQU7MquLpcFyMNYMeYjtPUgynvtMFowHwYDVR0jBBgwFoAU7MquLpcFyMNY