小编San*_*ndy的帖子

将初始化向量和盐与密文一起传递是不安全的吗?

我刚开始实施加密技术,而且我还在学习基础知识.

我的开源代码库需要对称加密功能.该系统有三个组件:

  • 存储某些用户数据的服务器,以及有关是否加密的信息,以及如何加密
  • AC#客户端,允许用户在发送到服务器时使用简单密码加密其数据,并在接收时使用相同的密码解密
  • 执行相同操作的JavaScript客户端,因此必须与C#客户端的加密方法兼容

看看各种JavaScript库,我遇到了SJCL,它有一个可爱的演示页面:http://bitwiseshiftleft.github.com/sjcl/demo/

从这一点来看,为了解密密文,客户需要知道的(除了使用的密码之外)是:

  • 初始化向量
  • 密码上使用的任何盐
  • 钥匙尺寸
  • 身份验证强度(我不完全确定这是什么)

用密文保存所有这些数据是否相对安全?请记住,这是一个开源代码库,除非我要求用户记住它们,否则我无法合理地隐藏这些变量(是的,正确).

任何建议表示赞赏

encryption passwords password-protection encryption-symmetric

16
推荐指数
1
解决办法
3644
查看次数

我怎样才能使用git只在一个文件中提交一行用于提交,所有这些都来自脚本?

我正在编写一个简单的预提交git钩子,用于更新提交的文件的版权标题中的年份.

在修改了具有版权的行之后,我希望钩子能够对该行进行分段,以使其成为提交的一部分.它不仅仅是git add整个文件,因为可能还有其他预先存在的更改,不应该进行上传.

我没有在git add手册中看到任何选项让你登台特定的行.

我想我可以git stash save --keep-index,应用我的更改,git add文件,然后git stash pop,但这似乎相当粗糙.有更好的方法吗?

git scripting

10
推荐指数
1
解决办法
3195
查看次数

为什么从分离的HEAD创建新的远程分支的git push语法如此不同?

最近我有一个场景,我处于一个独立的HEAD状态.我想把它推到github的一个fork上,以便与一个队友分享一些正在进行中的代码.我不需要这个特定提交的本地分支名称.

显然,这不起作用:

git push sandy-github HEAD
Run Code Online (Sandbox Code Playgroud)

这是有道理的,因为我没有为远程分支指定名称.

但我不明白为什么这不起作用:

git push sandy-github HEAD:mynewbranch
Run Code Online (Sandbox Code Playgroud)

这导致以下错误:

错误:无法推送到不合格的目标:mynewbranch目标refspec既不匹配遥控器上的现有引用也不以refs /开头,我们无法根据源引用猜测前缀.错误:未能将某些引用推送到'git@github.com:sandyarmstrong/myreponame.git'

我最终不得不做:

git push sandy-github HEAD:refs/heads/mynewbranch
Run Code Online (Sandbox Code Playgroud)

这很有效.来自文档:

git push origin master:refs/heads/experimental

通过复制当前主分支在原始存储库中创建分支实验.仅当本地名称和远程名称不同时,才需要此表单在远程存储库中创建新分支或标记; 否则,引用名称本身就可以使用.

我只是不明白为什么这是必要的.我猜这里有一些关于git的重要事情我在这里误会了.为什么这个棘手的语法只是因为名称不匹配而必需?为什么HEAD:mynewbranch语法不足以让git知道它应该在名为"mynewbranch"的远程上生成一个新的分支?

git

10
推荐指数
1
解决办法
1578
查看次数

淡入iOS中的异步加载图像

我正试图找到一种异步加载图像的方法,然后将图像"只显示"在UIImageView中,让它们淡入,类似于在iPad上的YouTube应用程序上完成的方式.

有没有人知道我会怎么做?我一直在寻找那些做过类似事情的人,但还没有太多运气,我不确定从哪里开始.

cocoa-touch asynchronous uiimageview ios

6
推荐指数
1
解决办法
2514
查看次数