Skip to content

Instantly share code, notes, and snippets.

@sebmor
Last active November 9, 2018 03:41
Show Gist options
  • Save sebmor/e32629f2c9f26cb7c9ff7356d349e27a to your computer and use it in GitHub Desktop.
Save sebmor/e32629f2c9f26cb7c9ff7356d349e27a to your computer and use it in GitHub Desktop.
Open Ethereum Wallet
import bip39 from 'bip39'
import hdkey from 'ethereumjs-wallet/hdkey'
import uuid from 'uuid'
import SHA256 from 'crypto-js/sha256'
import pbkdf2 from 'pbkdf2'
const SHARED_SALT = 'MaWe^C?2uButtKymBeRw5z*h3Z^x6LN*Bcj%d9xh@rkBFfA5X+#dwd5SRraYPY&2vjP_s*w$kd*!en7-%td&?R+zgtpHGLeBrSnh=-J#Fj=qpg%GwSpA=H83bG53sjmNBNe-DR6NDVXe@SJgps!-zx2^FFEk*DWsqYPg&edC3rR9n%$M*h2W+6*ADwc$Hpj*bESS?aV!&S8xnJ%%Z6jeFCBnHsXANVC2ZjD%8C3*P5e=CWn+x8Y?8CKJA3@fF6*=e8!L5$BWSBNQ2B3ECYbJ4-EkTE=!4#5nhPb5sw#3N4bCQDcGt7_QEE4xYpYz6EvJF9?5BD7bwwV7?kS9B6RRXBe3WYFwuG88yr$#JHb=?*vfMe=F+8rkTxNY2T^RyE4BFaDQenaj?$XHgafsRU#n!XnD3ageyWEMjSu&vPa9yy!$XCBFURfL#G9!u@B^5U%ZJx9$Gm6P5jjfAkZ=U@JqUq^YPY74DTbZaxjMRgVJ&$$q_v?r@fKsvJfSJp3fGYGq'
export function openWallet(walletid = uuid(), password) {
console.time('timetodecrypt')
const roundHashedPassword = pbkdf2.pbkdf2Sync(password, SHARED_SALT, 10000, 1024, 'sha512').toString('hex')
const hashedSlug = SHA256(walletid + roundHashedPassword + SHARED_SALT).toString()
const mnemonic = bip39.entropyToMnemonic(hashedSlug)
const seed = bip39.mnemonicToSeed(mnemonic, roundHashedPassword); // creates seed buffer
const hdWallet = hdkey.fromMasterSeed(seed);
console.timeEnd('timetodecrypt')
return hdWallet
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment