Example #1
0
static int brainv2pass2hash160(unsigned char *pass, size_t pass_sz) {
  unsigned char hexout[33];
  int ret;
  if ((ret = brainv2(pass, pass_sz, kdfsalt, kdfsalt_sz, hexout)) != 0) return ret;
  pass[pass_sz] = 0;
  return pass2hash160(hexout, sizeof(hexout)-1);
}
Example #2
0
static int brainv2salt2hash160(unsigned char *salt, size_t salt_sz) {
  unsigned char hexout[33];
  int ret;
  if ((ret = brainv2(kdfpass, kdfpass_sz, salt, salt_sz, hexout)) != 0) return ret;
  salt[salt_sz] = 0;
  return pass2hash160(hexout, sizeof(hexout)-1);
}
Example #3
0
int main(int argc, char **argv) {
  char *line = NULL;
  size_t line_sz = 0;

  secp256k1_start();

  /* use line buffered output */
  setvbuf(stdout, NULL, _IOLBF, 0);
  setvbuf(stderr, NULL, _IONBF, 0);

  if (argc == 2) {
    if ((bloom = bloom_open(argv[1])) == NULL) {
      fprintf(stderr, "failed to open bloom filter.\n");
      exit(1);
    }
  } else if (argc > 2) {
    fprintf(stderr, "too many arguments\n");
    exit(1);
  }

  while (getline(&line, &line_sz, stdin) > 0) {
    line[strlen(line)-1] = 0;
    pass2hash160(line, strlen(line));
    if (argc == 2) {
      if (bloom_chk_hash160(bloom, hash160_uncmp.ul)) {
        fprintf(stdout, "matched: %08x%08x%08x%08x%08x:u:%s\n",
                ntohl(hash160_uncmp.ul[0]),
                ntohl(hash160_uncmp.ul[1]),
                ntohl(hash160_uncmp.ul[2]),
                ntohl(hash160_uncmp.ul[3]),
                ntohl(hash160_uncmp.ul[4]),
                line);
      }
      if (bloom_chk_hash160(bloom, hash160_compr.ul)) {
        fprintf(stdout, "matched: %08x%08x%08x%08x%08x:c:%s\n",
                ntohl(hash160_compr.ul[0]),
                ntohl(hash160_compr.ul[1]),
                ntohl(hash160_compr.ul[2]),
                ntohl(hash160_compr.ul[3]),
                ntohl(hash160_compr.ul[4]),
                line);
      }
    } else {
      fprintf(stdout, "%08x%08x%08x%08x%08x:u:%s\n",
              ntohl(hash160_uncmp.ul[0]),
              ntohl(hash160_uncmp.ul[1]),
              ntohl(hash160_uncmp.ul[2]),
              ntohl(hash160_uncmp.ul[3]),
              ntohl(hash160_uncmp.ul[4]),
              line);
      fprintf(stdout, "%08x%08x%08x%08x%08x:c:%s\n",
              ntohl(hash160_compr.ul[0]),
              ntohl(hash160_compr.ul[1]),
              ntohl(hash160_compr.ul[2]),
              ntohl(hash160_compr.ul[3]),
              ntohl(hash160_compr.ul[4]),
              line);
    }
  }

  secp256k1_stop();

  return 0;
}