obsd178 发表于 2015-09-24 15:47

Xcode 终极杀-居家必备,防御利器,铁布衫级别

本帖最后由 obsd178 于 2015-09-24 15:54 编辑

好了,只是开个玩笑,算不算必杀技。
请各位帮我看一下脚本,有没有需要改进的地方,或者谁有更好的写法?Thanks in advance :)

需求分析:某雷、某度网盘 都存在文件被污染的问题,由于天朝网络稳定性较差,又不得不使用三方下载源,怎么办?
解决方案:下载后,使用官方提供md5 或 sha1 进行文件特征码比对,以策万全。

方法一:program [filename] [官方特征码][效验方式]#!/bin/sh
# 直接比对效验字符串,确认是否被污染。
if [ "$3" == "md5" ]
then
md5 $1|cut -d' ' -f4>out.txt
result=$(cat out.txt)
else
shasum $1|awk '{print $1}'>out.txt
result=$(cat out.txt)
fi

# Result Calc
if [ "$result" == "$2" ]
then
echo "FILENAME: $1"
echo "RESULT: PASS"
else
echo "FILENAME: $1"
echo "RESULT: UGLY"
fi
rm ./out.txt
执行md5效验:
# ./downloadChecker.sh xcode aaeb89a78f155377282f81a785aa1b38ee5f8ba0 md5

执行sha1效验:
# ./downloadChecker.sh xcode aaeb89a78f155377282f81a785aa1b38ee5f8ba0方法二:program [filename] [官方特征码][效验方式]#!/bin/sh
# 哥特式比对模式
echo $2>out.txt
if [ "$3" == "md5" ]
then
md5 $1|cut -d' ' -f4>>out.txt
else
shasum $1|awk '{print $1}'>>out.txt
fi
result=$(uniq out.txt|wc -l)

# Result Calc
if [ $result -eq 1 ]
then
echo "FILENAME: $1"
echo "RESULT: PASS"
else
echo "FILENAME: $1"
echo "RESULT: UGLY"
fi执行md5效验:
# ./downloadChecker.sh xcode aaeb89a78f155377282f81a785aa1b38ee5f8ba0 md5

执行sha1效验:
# ./downloadChecker.sh xcode aaeb89a78f155377282f81a785aa1b38ee5f8ba0

lsstarboy 发表于 2015-09-24 17:33

虽然我不懂apple的东西,但是感觉不错。

另:这程序能在android上跑不?跑起来是什么结果?;P

obsd178 发表于 2015-09-24 17:39

回复 2# lsstarboy


    版主大大,您太有智慧了,学识广博。{:yct81:}

shang2010 发表于 2015-09-26 12:47

呵呵,apple就是基于bso的东西

ulovko 发表于 2015-09-27 19:19

shang2010 发表于 2015-09-26 12:47 static/image/common/back.gif
呵呵,apple就是基于bso的东西

请注意:BSO != BSD

lsstarboy 发表于 2015-09-27 20:19

BTW:没发现跟xcode有啥关系啊?怎么看都仅仅是一个md5或sha的验证程序。
页: [1]
查看完整版本: Xcode 终极杀-居家必备,防御利器,铁布衫级别