我目前正在开发一个客户端 - 服务器程序,Java/C中的客户端和C中的服务器.我必须传输加密数据(如客户端应该将数据传递给服务器以加密/解密,计算摘要等),服务器必须将结果返回给客户.
在这种情况下,我意识到使用一些传输协议来识别数据和有效传递数据的重要性.
关于这一点,我的问题是:ASN.1是一个很好的协议吗?我知道BC(在Java上)和C上的OpenSSL支持它.所以使用ASN.1表示法在客户端和服务器之间传输数据是个好主意吗?
你还可以给我一些起点吗?如果您对现有协议有更好的了解,请告诉我.
谢谢!!
我已经下载CygWin(32-bit)并安装(on Windows 7 32 bit System)今天运行shell脚本,但我发现一个问题,即bc命令无法正常工作.
我收到了错误-bash: bc: command not found.所以请帮帮我!
$ bc
BC> ibase=2
BC> 110&101 // wanna get 100
(standar_in) 8: syntax error
Run Code Online (Sandbox Code Playgroud)
维基百科通知操作是"|,&和^".它可能只是在某些BC类型中工作,或者我误解了某些东西.
我在Linux shell上进行了计算,就像这样
echo "scale 4;3*2.5" |bc
Run Code Online (Sandbox Code Playgroud)
这给了我一个结果,现在我想把这个计算的结果输入到一个变量中,这样我以后可以在另一个命令中使用它,
管道到文件工作,但不管道变量
echo "scale=4 ; 3*2.5" | bc > test.file
Run Code Online (Sandbox Code Playgroud)
所以在伪代码中我想做这样的事情
set MYVAR=echo "scale=4 ; 3*2.5" | bc ; mycommand $MYVAR
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
在我的应用程序中,我使用发行者名称的sha256(x509CertImpl.getIssuerDN().getName())和证书序列号来唯一标识证书,但现在我已经意识到X509Name的其他实现作为Bouncy的实现当我调用bcX509Name.getName()时,Castle库显示不同的东西,所以这个标识符对我不起作用...我的问题是如何获得X509Name的唯一标识符...可能是ASN.1或DER编码表示两者都是一样的.
Jack 10 J 10 A 20 Lu cal 20 A bc U 20
我想得到这些数字的总和:10 + 10 + 20 + 20 + 20 = 80
但是我不能cat input|cut -d " " -f 3用来获取数字,我怎么能这样做?
我有以下 CSV 文件:
2012-07-12 15:30:09; 353.2
2012-07-12 15:45:08; 347.4
2012-07-12 16:00:08; 197.6
2012-07-12 16:15:08; 308.2
2012-07-12 16:30:09; 352.6
Run Code Online (Sandbox Code Playgroud)
我想要做的是修改第二列中的值......
我已经可以做的是提取值并以这种方式修改它:
#!/bin/bash
cut -d ";" -f2 $1 > .tmp.csv
for num in $(cat .tmp.csv)
do
(echo "scale=2;$num/5" | bc -l >> .tmp2.csv)
done
rm .tmp.csv
rm .tmp2.csv
Run Code Online (Sandbox Code Playgroud)
但我也需要在该文件中包含column1...
我希望你们中的一个人能给我一个提示,我只是被困住了!
好的,这是一个黑客问题(https://www.hackerrank.com/challenges/bash-tutorials---arithmetic-operations).基本上,输入是一个算术表达式,我应该打印出格式化的答案(3位小数).我一开始就尝试过这个
read exp
echo "scale = 3; $exp" | bc -l
Run Code Online (Sandbox Code Playgroud)
它通过了几次测试,但不是第一次.
5+50*3/20 + (19*2)/7答案是,17.929但我的代码打印出来17.928.我试过这个代码
read exp
printf "%.3f\n" `echo $exp | bc -l`
Run Code Online (Sandbox Code Playgroud)
注意:回声部分应该是反引号,但我把''不要与块引号混淆.所有测试都通过了 那有什么区别?
有没有办法禁用bc将长数字分成几行的功能,比如scale用于控制小数位的变量?当然,我可以使用sed,但是有没有bc办法做到这一点?http://www.gnu.org/software/bc/manual/html_mono/bc.html 的手册页仅说明每行的最大字符数为 70。
下面是一个数字被分割的例子:
bc -l <<< "scale = 100; a(1) * 4"
3.141592653589793238462643383279502884197169399375105820974944592307\
8164062862089986280348253421170676
Run Code Online (Sandbox Code Playgroud) 我使用 bc 和 scale 来评估表达式,但是我希望它向上舍入而不是向下舍入。什么是最简单的方法来做到这一点?
$ read exp
5+50*3/20 + (19*2)/7
$ echo "scale=3; $exp" | bc -l
17.928
Run Code Online (Sandbox Code Playgroud)
然而我想要的答案是 17.929
我更喜欢将答案作为我的答案的附录,而不是一些不同的东西。谢谢
以下是我尝试过的一些事情:
$ echo "scale=4; ($exp+0.0005)" | bc -l
17.9290
$ echo "scale=3; ($exp+0.0005)" | bc -l
17.9285
Run Code Online (Sandbox Code Playgroud)
但是我想17.929作为最后没有零的答案。
bc ×10
bash ×4
asn.1 ×2
java ×2
sh ×2
shell ×2
binary ×1
bouncycastle ×1
c ×1
cryptography ×1
csv ×1
cygwin ×1
expression ×1
line-breaks ×1
linux ×1
openssl ×1
printf ×1
unix ×1
variables ×1