首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android NDK原生代码真的原生吗?

Android NDK原生代码真的原生吗?
EN

Stack Overflow用户
提问于 2012-04-19 00:03:53
回答 1查看 296关注 0票数 4

我想知道用原生代码实现加密函数是否更安全。使用Java时,您不能确定GC是否对内存进行了重新排序并在内存中保留了密钥的浅副本,即使您在en/decryption之后立即清零了密钥。

也许这是一个愚蠢的问题,但我找不到任何信息。本机代码仍然在虚拟机中运行沙箱,因此GC/ VM /系统是否可以重新排序内存,从而留下一个浅拷贝?那么堆栈和堆是静态的还是可以移动的?AFAIK他们有虚拟地址,所以这是可以做到的。

谢谢并致以最良好的问候

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-19 00:07:16

Native代码是为ARM (我认为现在是英特尔)编译的,而不是Dalvik VM,它直接在处理器上运行,它由Dalvik加载和调用,但它不直接由Dalvik控制。本机代码的堆栈和堆是真实的。调用memcpy/memset将永久改变内存。

所有现代系统也都有虚拟内存,所以这就是您在安全性方面可能得到的最大收获。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10213365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档