目前我正在尝试做这个挑战(http://cryptopals.com/sets/1/challenges/1),我在使用C#完成任务时遇到了一些麻烦.我似乎无法将数字解析成一个大整数.
所以代码如下所示:
string output = "";
BigInteger hexValue = BigInteger.Parse("49276d206b696c6c696e6720796f757220627261696e206c696b65206120706f69736f6e6f7573206d757368726f6f6");
output = Convert.ToBase64String(hexValue.ToByteArray());
Console.WriteLine(hexValue);
Console.WriteLine(output);
Console.ReadKey();
return "";
Run Code Online (Sandbox Code Playgroud)
目前我遇到的问题是当我运行程序时它失败并出现错误
System.FormatException:'无法解析该值.' 而且我不完全确定为什么.
那么,从字符串中获取大整数到BigInt的合适方法是什么?
所以最近我遇到了Golang标志的问题,好奇地想知道这是否如预期的那样,是否有问题,或者我是个傻子,对此有一个非常简单的答案。
因此,使用以下代码:
func main() {
test := flag.String("-test", "", "test var")
flag.Parse()
if *test != "" {
fmt.Println(*test)
}
}
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令运行它 ./main -test 1
您收到以下自动生成的错误:
flag provided but not defined: -test
Usage of ./main:
--test string
test var
Run Code Online (Sandbox Code Playgroud)
如果再使用./main --test 1,也会发生相同的错误。我发现的唯一方法是将标志定义更改为 test := flag.String("test", "", "test var"),然后使用运行./main -test 1。
所以我的问题是,为什么不能在标志中使用双连字符?如果可以的话,我在哪里出错了?