파일을 해당 .exe로 끌어 놓을 콘솔 또는 양식을 만들려고합니다. 프로그램에서 해당 파일을 가져 와서 해시 한 다음 클립 보드 텍스트를 가혹하게 생성 된 해시로 설정합니다. . 내가 릴리스에서 단일 .EXE를 얻고, 그것에 파일을 드래그하면 명령 줄 인수에서 해시 가져 오기
이
는 내가이기 때문에 나는 그것을 제공 할 수없는 오류 - 스레딩의 일종을 얻을 내 코드using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
using System.Windows.Forms;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string path = args[0];
StreamReader wer = new StreamReader(path.ToString());
wer.ReadToEnd();
string qwe = wer.ToString();
string ert = Hash(qwe);
string password = "~" + ert + "~";
Clipboard.SetText(password);
}
static public string Hash(string input)
{
MD5 md5 = MD5.Create();
byte[] inputBytes = Encoding.ASCII.GetBytes(input);
byte[] hash = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hash.Length; i++)
{
sb.Append(hash[i].ToString("X2"));
}
return sb.ToString();
}
}
}
입니다 콘솔에서, vb2010 않습니다. 어떤 도움 주셔서 감사합니다
콘솔에서 프로그램 *을 실행하고 파일 이름을 인수로 전달하면 어떻게됩니까? 그렇게하면 전체 스택 추적을 가져와 질문에 복사하여 붙여 넣을 수 있습니다. 여러분의 코드는 어쨌든 결함이있는 것입니다. 왜냐하면 처음에는 문자열로 읽지 않아야하기 때문입니다. 대신 스트림에서'ComputeHash'를 호출하십시오. –
@ Jon Skeet - 답변, 어떻게 대답 할 수 있습니까? – Dean
그럼 어느 비트에 붙어 있니? –