使用标准JDK在Java中生成安全,随机的AES密钥的推荐方法是什么? 在其他文章中,我发现这一点,但使用SecretKeyFactory可能是一个更好的主意: KeyGenerator keyGen = KeyGenerator.getInstance("AES"); SecureRandom random = new SecureRandom(); // cryptograph. secure random keyGen.init(random); SecretKey secretKey = keyGen.generateKey(); 如果答案中包含了解释为什么这是生成随机密钥的好方法,那将是非常好的。 谢谢!
我正在尝试使用名为Pass的有趣的密码pipe理工具 。 我做了以下几点: 安装gpg工具$ sudo dnf install gpg 使用$ gpg –gen-key生成$ gpg –gen-key input$ pass init "foobar id of my gpg key"如此处所述 得到 mkdir: created directory '/home/chichivica/.password-store/' Password store initialized for foobar@email.com 试图添加一个简单的密码 $ pass insert foo Enter password for foo: Retype password for foo: 还有问题 gpg: A45A123C: There is no assurance this key belongs […]
我们正在使用bcrypt来获取永不需要解密的密码和数据。 应该做些什么来保护其他用户信息呢。 对于这个例子可以说,我们不希望用户真实姓名是纯文本的情况下,以防有人获得数据库。 这是一些敏感的数据,但也需要不时调用并以纯文本显示。 有一个简单的方法来做到这一点?
我们正在将我们的networking架构转移到新的环境中。 包括几十个不同的网站,从几乎完全静态的网站到需要authentication并包含敏感内容的dynamic网站。 我们的Web服务器pipe理员(没有任何开发团队的任何意见)决定在新的环境中将其作为一项标准,以强制所有的SSL。 我不同意这个决定,并且当我坐下来讨论这个问题的时候,希望有尽可能多的知识。 以下是我到目前为止: 对于每个站点,SSL证书都有直接成本。 我们有一个dev,qa和prod环境,因此这是每个站点需要的三个证书 对于大多数页面来说,内容是不安全的,强制SSL会使服务器上的页面请求花费更长的时间,因为encryption和解密 据我所知,大多数浏览器不会caching已经SSL的页面,因此再次页面请求将花费更长的时间 较旧的浏览器在进行SSLencryption时遇到文件下载问题 当用户进行身份validation或他们请求敏感数据时,我没有强制SSL的问题。 不过,我认为所有网站默认强制SSL是有点多。
当调用以下函数时: byte[] bytes = rsa.Encrypt(System.Text.UTF8Encoding.UTF8.GetBytes(stringToEncrypt), true); 我现在得到错误:长度不合适。 有一个更小的string的作品,任何想法是什么问题可能是我传递的string是在200个字符以下。
我正在尝试将DHE_DSS应用到go的crypto / tls包中。 不幸的是,我似乎无法得到PreMasterSecret(Z)是相同的,我的基本工作stream程是: 接收服务器密钥交换消息 提取P,G,Ys 使用提供的数字签名进行validation 准备客户端密钥交换消息 创build客户端的Xc 生成Yc(Yc = G ^ Xc%P) 生成Z(Z = Ys ^ Xc%P) 发回Yc,像这样打包: ckx := make([]byte, len(yC)+2) ckx[0] = byte(len(Yc)>>8) ckx[1] = byte(len(Yc)) copy(ckx[2:], yBytes) 但是,当我用gnutls-servdebugging这两个PreMasterSecrets(Z)是不同的。 我是否需要签署退回的Yc,或者以另一种方式包装? 我不能在RFC 5246中看到任何build议。 < – 编辑 – > 这是我的一些修改: https://08766345559465695203.googlegroups.com/attach/48587532c74b4348/crypto.patch?part=4&view=1&vt=ANaJVrHbwydqEZc3zjUWqQ5C8Q5zEkWXZLdL0w6JJG3HYntOlBurUTY7mc9xR9OTfE0bJxs4eeL5a5SGd2jj9eIfXcwJQgLvJchXOgkYKBBynbPfshY8kuQ
从v4.1 Jelly Bean开始 ,Google为Google Play引入了新的应用程序资产encryptionfunction。 似乎在升级应用程序时出现了一些问题,包括由于apk目录(旧的是/data/app ,现在是/mnt/asec )中的更改导致重新启动后丢失的持久性数据。 因此,在Google Play上发布(或更新已发布的应用)时,对于OS 2.3+, 我可以禁用此选项并发布未encryption的应用程序吗? 这个问题的现状是什么? 有没有解决方法? 除了这个问题之外,提供额外的防盗版保护似乎也没有问题,但是在文档的任何地方我都找不到解释。 那么应用程序发布到其他商店,或通过OTA部署? 他们也可以encryption吗? 如果不是的话,那么如果任何人都可以从其他地方下载未encryption的apk并立即反编译,那么在Google Play发布中引起如此大的痛苦又有什么意义呢? 它可以通过生根电话被击败? 是否只有OS 4.0+才能提供保护? 如果是这样的话,那么,如果任何人都可以下载未encryption的apk到一个姜饼手机,用adb把它拉出来,并用通常的方式反编译,这又有什么意义呢? 假设该机制起作用:备份应用程序(如Titanium Backup)如何,或使用adb进行手动apk备份? 他们还会工作吗? 性能:一些应用程序可能有相当大的apk大小。 这种机制会妨碍性能吗? 操作系统在每次加载时都解密整个apk文件吗? 提前致谢 更新: 编辑以包含Google Code问题的链接。 问题34880(封闭,但有些开发者仍在抱怨;状态:将来发布) 问题35962(封闭;状态:已发布) 更新#2: 这篇博客文章中有趣的信息由第一个问题的开发人员之一链接。 也在这里用德语。 用户和开发人员报告说,在过去几天内,使用最新版Google Play(3.7.15)安装的应用程序似乎已经消失。 以前安装有问题的应用程序的用户需要卸载,然后免费重新下载。 据报道,新版Google Play现在将付费应用再次保存到/ data / app,这意味着Google现在已经停用了复制保护function。 Google没有公开评论这个问题。 该错误被标记为中等优先级,状态为“FutureRelease”可能的修复。
我正在处理的应用程序让用户encryption文件。 这些文件可以是任何格式(电子表格,文件,演示文稿等)。 对于指定的input文件,我创build了两个输出文件 – 一个encryption数据文件和一个密钥文件。 您需要这两个文件来获取您的原始数据。 密钥文件只能在相应的数据文件上工作。 它不应该在来自同一用户或任何其他用户的任何其他文件上工作。 AESalgorithm需要两个不同的encryption参数,一个密钥和一个初始化向量(IV)。 我看到了三个创build密钥文件的select: 在应用程序中embedded硬编码的IV,并将密钥保存在密钥文件中。 在应用程序中embedded硬编码密钥,并将IV保存在密钥文件中。 将密钥和IV保存在密钥文件中。 请注意,这是由不同客户使用的相同应用程序。 看起来,三种select都会达到同样的目标。 不过,我想就正确的方法应该得到您的反馈。
我刚刚登陆了PHP5演出。 我不会处理涉及超敏感数据的应用程序部分,但是我仍然对安全性和encryption方法感到尴尬。 我只知道非常基础(不要以明文存储密码,不允许用户使用发布数据运行代码等)。 我需要知道什么才能保证我的应用程序安全,我可以在哪里学习?
我正在寻找一个encryption的版本控制系统。 基本上我想 在发送到服务器之前先将所有文件在本地encryption。 服务器不应该接收任何未encryption的文件或数据。 每个其他function应该像SVN或CVS今天一样工作。 任何人都可以推荐这样的东西? 我做了很多search,但我找不到任何东西。