自己晒点儿盐用

简介: [本文出自天外归云的博客园] 自用加盐代码如下: # coding:utf-8 import uuid from functools import reduce def salt(num): if num

[本文出自天外归云的博客园]

自用加盐代码如下:

# coding:utf-8
import uuid
from functools import reduce

def salt(num):
    if num<33333:
        num = 3*(num+3)
        num = salt(num)
    return num

def encrypt(_str,password):
    keys = []
    for char in _str:
        if char.isalpha():
            key = ord(char)-96
        else:
            key = salt(ord(char))
        keys.append(str(key))
    return password.join(keys)

def dec_mac(get_mac_address):
    def wrapper(password):
        password = str(password)
        return str(reduce(lambda x, y: x*y,[int(one)*3 for one in encrypt(password,password).join(encrypt(get_mac_address(),password)) if int(one)!=0])).strip("0") 
    return wrapper

@dec_mac
def get_mac_address():
    mac=uuid.UUID(int = uuid.getnode()).hex[-12:] 
    ret = ":".join([mac[e:e+2] for e in range(0,11,2)])
    return ret.lower()

if __name__ == '__main__':
    key = "kdfhb234kus3"
    salt_mac = get_mac_address(encrypt(key,"3"))
    with open("cipher","w") as cipher:
        cipher.write(salt_mac)

造盐函数,将盐输出到本地cipher文件。

查盐函数,读取cipher文件中的盐并校验,如果和造盐函数产出的盐不一样,则返回False:

def check_salt():
    key1 = "dkfjasdlkfj"
    key2 = "5"
    salt_mac = get_mac_address(encrypt(key1,key2))
    root_path = os.path.dirname(os.path.dirname(__file__))
    cipher_path = os.path.join(root_path,"cipher")
    with open(cipher_path,"r") as cipher:
        content = cipher.read()
        if content != salt_mac:
            return False

用途:本盐是用来与mac地址绑定的,加盐的目的是对程序进行mac地址绑定,非指定机器不能运行。在客户端生成加盐文件后删除加盐程序,程序在该客户端可以运行,在其他客户端不可以运行。

关键:加盐器中的key和查盐器中的key要对上才能返回True,所以即使知道加盐的逻辑不知道查盐函数中的key也是不行的。所以要对查盐函数的代码想通过转编译、复杂逻辑等方法进行保护。如果逆向成本高于正向成本,保护基本可以认为是有效的。

相关文章
|
6月前
|
SQL 小程序 Java
情侣恋爱日记本
情侣恋爱日记本
|
6月前
|
JSON API 数据格式
自造微博轮子,再爬姐姐和奶奶殿下
自造微博轮子,再爬姐姐和奶奶殿下
|
JSON 移动开发 前端开发
情人节福利,撩妹神器恋爱话术库它来了~
情人节福利,撩妹神器恋爱话术库它来了~
734 0
情人节福利,撩妹神器恋爱话术库它来了~
|
Web App开发 iOS开发 Windows
IE 凉了?怎么可能!(一)
Hey guys,我是 cxuan,今天偶然间在朋友圈看到非常有意思的一张截图。
IE 凉了?怎么可能!(一)
|
Web App开发 前端开发 程序员
IE 凉了?怎么可能!(二)
这则充满戏谑的问答讨论的是时下非常火的 "IE 凉了" 这个话题。 作为陪伴我们这么多年的 IE ,为什么突然间就凉了呢?
IE 凉了?怎么可能!(二)
|
云安全 安全
今天和朋友们做了五道新春大餐!
农历新年将至 安全君携几位好伙伴们, 给大家献上几道“新春大餐”。 愿您在新的一年里, 安心、顺心、省心! 第一道: 阿里云与PCCW Global  共同为全球用户提供DDoS防御服务 让更多企业的业务, 穿上稳定、有效的防护铠甲。
1884 0
我被阿里云美女清宵的观后感给撩了
这是她看完药神之后的观后感,看到chanel的声明,就吸引我一直把它读完。 package main import ( "fmt" "math/rand" "sync" "time" ) var ( r = rand.
1595 0
一碗鸡汤
一、要成为自己的专家 1、找到自己的独特性——《发现自己的优势2.0》 2、弄清楚让我们做出决定的根本原因(是为了亲人、朋友还是为了成就感) 3、经验(定期反省自己什么做对了,什么做错了,有没有更对的经验可循)   人做不成事有两个原因:第一,他对自己说他不行;第二,别人说他不行。
904 0
|
数据安全/隐私保护
七夕快到了,就帮你到这吧
链接: https://pan.baidu.com/s/1jADup0i_KMOJeULHvdGPUA 密码: 235s 出处:https://www.
965 0