w**********y 发帖数: 1691 | 1 【 以下文字转载自 Statistics 讨论区 】
发信人: weekendsunny (醉生梦死), 信区: Statistics
标 题: 请教- 怎么对R code加密?
发信站: BBS 未名空间站 (Wed Apr 8 17:23:31 2015, 美东)
stackoverflow上面有一些讨论:
http://stackoverflow.com/questions/4707276/encrypting-r-script-
或者比较麻烦但是可能最安全的方法是,把保密的代码部分全部写成c编译成dll然后用
R去call。
不知道版上有没有比较熟悉这个的讨论一下? 谢谢 |
w**********y 发帖数: 1691 | |
D**u 发帖数: 288 | 3 之前小研究过,很久了,现在不保证靠谱哈。
总的来说,要想完全如dll般加密的方法现在还没有,可能很久也不会有,有可能是因
为这违背R语言creators的本意,也与R是 interpreted的本质有关。
如果想简单加密成byte code,可以用compile {compiler},好处是,直接点击打开是
乱码, 不过list 一下 object就全出来了, 没有太大意思。
再有就是即使把关键的code 用 C写,如果最后要在r里运行,还是可以看到,所以也不
太可能。
如果是给客户,只用被execute看结果,那就写成用C做compiled executable,然后
call R,再用专业的加密器如http://en.wikipedia.org/wiki/ROT13 把code给掩盖住, 这样大概就可以了; 或者如果是内部只想让某些人看到,放到server上给特定的人permission就好了。 |
w**********y 发帖数: 1691 | 4 多谢回复了。
关键部分用C写是可以的,比如你做一个神奇的variable selection,就把这部分写成C
编译成dll,用dyn.load和.call就可以调用了。但是.dll里面的function都是看不到代
码的
"如果是给客户,只用被execute看结果,那就写成用C做compiled executable,然后
call R,再用专业的加密器如http://en.wikipedia.org/wiki/ROT13 把code给掩盖住, 这样大概就可以了" ---
没太听懂,什么叫用C做compiled executable? 能否举个简单的例子? 比如说你想做
regression, 所有的读写数据输出结果都不用保密,就做variable selection部分想保
密,你怎么实现呢?谢了
【在 D**u 的大作中提到】 : 之前小研究过,很久了,现在不保证靠谱哈。 : 总的来说,要想完全如dll般加密的方法现在还没有,可能很久也不会有,有可能是因 : 为这违背R语言creators的本意,也与R是 interpreted的本质有关。 : 如果想简单加密成byte code,可以用compile {compiler},好处是,直接点击打开是 : 乱码, 不过list 一下 object就全出来了, 没有太大意思。 : 再有就是即使把关键的code 用 C写,如果最后要在r里运行,还是可以看到,所以也不 : 太可能。 : 如果是给客户,只用被execute看结果,那就写成用C做compiled executable,然后 : call R,再用专业的加密器如http://en.wikipedia.org/wiki/ROT13 把code给掩盖住, 这样大概就可以了; 或者如果是内部只想让某些人看到,放到server上给特定的人permission就好了。
|