/*
	amper5and / secrets.js
		https://github.com/amper5and/secrets.js/

	sssファイルの照会
	使い方
			node sssDecode ファイル名 ファイル名 ・・・
*/
var fs = require('fs');
var secrets = require('./secrets');

var argv = process.argv.map(function (val) {
	return val;
});

if(argv.length<3){
	console.log("ファイルの指定がありません。");
	return;
}

//sssファイルの読み込み
var shares=new Array();
for(var i=2;i<argv.length;i++){
	var d=fileGetContents( argv[i] );
	shares.push(d);
}

//読み込んだん分散情報からsssオブジェクトを生成
var newShare = secrets.newShare(1, shares);

//分散情報からテキスト情報の復号
var comb = secrets.combine( shares );

//hex stringをテキストに変換
comb = secrets.hex2str(comb);
console.log( "秘密情報は\n"+comb );


//ファイル読み込み
function fileGetContents( filename ){
	var fs = require("fs");
	var fileContent = "";
	var stat = fs.statSync(filename);

	var fd = fs.openSync(filename, "r");
	var bytes = fs.readSync(fd, stat.size, 0, "utf8");
	fileContent += bytes[0];
	fs.closeSync(fd);

	return fileContent;
}