小编spa*_*ers的帖子

urlsafe_b64encode总是以'='结尾?:

我认为这一定是一个愚蠢的问题,但为什么urlsafe_b64encode()的结果总是以'='结尾?'='不是网址安全吗?

from random import getrandbits
from base64 import urlsafe_b64encode
from hashlib import sha256
from time import sleep

def genKey():
   keyLenBits = 64
   a = str(getrandbits(keyLenBits))
   b = urlsafe_b64encode(sha256(a).digest())
   print b

while 1:
   genKey()
   sleep(1)
Run Code Online (Sandbox Code Playgroud)

输出:

DxFOVxWvvzGdOSh2ARkK-2XPXNavnpiCkD6RuKLffvA=
xvA99ZLBrLvtf9-k0-YUFcLsiKl8Q8KmkD7ahIqPZ5Y=
jYbNK7j62KCBA5gnoiSpM2AGOPxmyQTIJIl_wWdOwoY=
CPIKkXPfIX4bd8lQtUj1dYG3ZOBxmZTMkVpmR7Uvu4s=
HlTs0tBW805gaxfMrq3OPOa6Crg7MsLSLnqe-eX0JEA=
FKRu0ePZEppHsvACWYssL1b2uZhjy9UU5LI8sWIqHe8=
aY_kVaT8kjB4RRfp3S6xG2vJaL0vAwQPifsBcN1LYvo=
6Us3XsewqnEcovMb5EEPtf4Fp4ucWfjPVso-UkRuaRc=
_vAI943yOWs3t2F6suUGy47LJjQsgi_XLiMKhYZnm9M=
CcUSXVqPNT_eb8VXasFXhvNosPOWQQWjGlipQp_68aY=
Run Code Online (Sandbox Code Playgroud)

python hash base64

8
推荐指数
1
解决办法
4750
查看次数

在PowerPC上处理外部异常时使用r1堆栈指针

我正在编写一个汇编程序来处理EABI嵌入式PowerPC应用程序中的0x500外部/递减器异常.

在从0x500向量点调用的汇编程序中,我想在分支到'C'中的处理函数之前使用一些内存来保存寄存器.

因为i)异常模型保证先前的指令将在异常处理程序运行时完成,并且ii)调用约定似乎在进入新函数时首先更新堆栈指针(r1),然后释放新的堆栈空间通过移动它(并将堆栈指针移回到函数末尾的最后位置)

在我看来,我可以安全地使用r1在异常处理例程中为普通堆栈提供更多空间,显然我遵守调用约定并将堆栈放回原来我找到它并确保SRR0和SRR1是修改.

我不打算允许在处理中使用堆栈的异常嵌套(尽管实际上使用这种方法我不确定会出现问题).

您认为这是一种明智的方法,还是应该使用单独的堆栈进行异常处理? - 我认为这可能带来它自己的问题.

embedded assembly exception-handling powerpc

3
推荐指数
1
解决办法
1819
查看次数

在'C'代码中使用链接器命令文件变量的绝对值

我有一个链接器命令文件,它将堆栈的顶部地址分配给一个变量

_stack = . + 0x80000;  
Run Code Online (Sandbox Code Playgroud)

我想在'c'程序中使用这个地址 - 我想将堆栈复制到另一个位置,然后在对RAM的原始存储区进行破坏性内存测试之前更新堆栈指针以指向新位置.

我发现如果我做了类似的事情

extern u32 *_stack;  
myFunction(_stack);
Run Code Online (Sandbox Code Playgroud)

然后函数似乎传递了存储在堆栈位置的值

lwz r3,0(r8)
Run Code Online (Sandbox Code Playgroud)

而不是堆栈本身的地址.有人可以帮忙吗?

c embedded linker

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

加密函数的参数

我有点困惑,加密函数的参数是一个字符串.我应该简单地用str()包装非字符串参数,例如

hashlib.sha256(str(user_id)+str(expiry_time))
hmac.new(str(random.randbits(256)))
Run Code Online (Sandbox Code Playgroud)

(暂时忽略random.randbits()可能在加密方面不好).编辑:我意识到hmac的例子是愚蠢的,因为我没有把钥匙存放在任何地方!

python cryptography

0
推荐指数
1
解决办法
206
查看次数