- 主题:如何禁止函数输出到stdout?
写了个简单程序,里面调用了几个函数,比如A, B,然后把结果输出到stdout.
审查代码的人说,如果A或者B也输出到stdout,那不就改变结果了吗?以这个B为例,是一个基本的加密函数,是hkdf,就说是sha256吧。虽说这个函数现在不会输出到stdout,能保证以后永远不会吗?
我的程序编译后这样用
program | next_program ...
所以,把结果输出到标准输出的程序都会面临这样的问题,如何保证调用的函数不会输出到标准输出。
--
FROM 72.199.121.*
把stdout重定向一下就行吧。
【 在 bihai 的大作中提到: 】
: 写了个简单程序,里面调用了几个函数,比如A, B,然后把结果输出到stdout.
: 审查代码的人说,如果A或者B也输出到stdout,那不就改变结果了吗?以这个B为例,是一个基本的加密函数,是hkdf,就说是sha256吧。虽说这个函数现在不会输出到stdout,能保证以后永远不会吗?
: 我的程序编译后这样用
: ...................
--
FROM 117.136.0.*
我觉得这纯属找茬吧?那怎么能保证这个函数将来不发射一枚核武器引爆世界大战?
基本函数的输入输出不应该是协议的一部分吗?
--
FROM 101.88.159.*
对,既然别的程序会解析你的这个程序的stdout数据,那这就是个约定好的IPC协议,既然是IPC协议,那自然是不能随便更改格式的。
你可以在大家会看到的某个文档中记录这个东西,代码的注释中也强调不能随便改,谁改坏了找谁。
还可以用CI的测试用例之类的环节保证没被改坏。
--
FROM 114.241.227.*