全网首发:练习4.1:编写一个函数,用于统计SHA256散列中不同的位数(标题党,可能只是我搜不到)

在放代码之前,我首先要坦白,我看错题目了。这个题目应该是问一个字符的SHA256散列0和1的分别个数。
我看成了按ch4/sha256里的比较’x’和’X’的不同位数有多少
在这里插入图片描述

主要难度就是把SHA256的byte转成字符串or数据组。
为什么呢?其实书上有给我们答案。把byte转为二进制的256位才能比较不同位数,如果你直接用十进制数输出,首先你数组个数就才32个,而且这两个数组的元素相等等价于元256位二进制数按照4个分割当且仅当这四个位都相等,你才会返回一个元素相等。
我为什么知道呢,因为我偷懒这么干,结果居然只有31个不一致,一改变量发现数组一共才32个元素,完犊子。
上代码:在这里插入图片描述
把byte转为字符串数组(实际每个元素写的是该数组第i个二进制位上的数)
然后循环遍历。我知道题目让我用popcount,但是我开卷都只写成这样,popcount我真觉得比循环遍历难,可以但没必要哈。
运算结果:(看不懂125是啥count是啥的左转去学C语言谢谢)
在这里插入图片描述
按题目问题就更简单了啊,数一个字符数的SHA256里有多少0和1,我新建一个gofile文件可以控制输入,(其实上面那个也可以,但是我懒and不一定写得出来)
在这里插入图片描述
给大家看看结果啦:
在这里插入图片描述
另外,go你再说你不在意缩进格式我给你梆梆来两拳!
在这里插入图片描述
诚邀大家品鉴憨批编译器找不同:
在这里插入图片描述
在这里插入图片描述
简简单单两天工作量…61就是很拉啊
![](https://img-blog.csdnimg.cn/4143dad2cce341ecbbfd07f20d22a886.jpeg

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值