需求:
提取客户本机Mac地址,生成Md5值。(客户使用,提供给厂商)
对该Md5值进行加密,生成lisence.txt文件。(厂商生成)
获取当前目录的lisence文件,解密,如果解密后与加密之前的md5值相等,则允许用户执行主程序。(客户使用)
一、使用macaddr获取本机mac地址。
macaddr下载地址:https://github.com/ahoward/macaddr
下载后执行命令:gem install macaddr
执行后会在ruby安装目录相应位置生成macaddr-1.7.1、systemu-2.6.5(macaddr依赖包)文件夹。如我的是在:C:\Ruby23\lib\ruby\gems\2.3.0\gems\。
对macaddr进行修改:找到~/macaddr-1.7.1/lib/macaddr.rb文件,将以下代码注释:
# @mac_address = from_getifaddrs
# return @mac_address if @mac_address
即:只是用systemu获取Mac地址。
可编写一个mac.rb的ruby文件,用于获取Mac地址并生成md5值并打印,内容如下:
require 'macaddr'
require 'digest'
#Mac.addr #=> first mac addr on your system
#Mac.addr.list #=> all mac addrs on your system
puts Digest::MD5.hexdigest(Mac.addr.list.to_s)