msencrypt¶
目的¶
用于创建加密密钥或加密连接字符串的部分以用于 Mapfile (在v4.10中添加)。通常,您可能希望加密数据库连接的连接参数部分。使用此加密方法支持以下连接类型:
OGR
Oracle Spatial
PostGIS
SDE
句法¶
要创建新的加密密钥:
msencrypt -keygen [key_filename]
要加密字符串:
msencrypt -key [key_filename] [string_to_encrypt]
在Mapfile使用¶
加密密钥的位置可以通过两种机制指定,一种是通过设置环境变量ms_encryption_key,另一种是在 Mapfile 的映射对象中使用config指令。例如:
CONFIG MS_ENCRYPTION_KEY "/path/to/mykey.txt"
使用和字符作为 Mapfile 中数据库连接内加密字符串的分隔符。例如:
CONNECTIONTYPE ORACLESPATIAL
CONNECTION "user/{MIIBugIBAAKBgQCP0Yj+Seh8==}@service"
例子¶
LAYER
NAME "provinces"
TYPE POLYGON
CONNECTIONTYPE POSTGIS
CONNECTION "host=127.0.0.1 dbname=gmap user=postgres password=iluvyou18 port=5432"
DATA "the_geom FROM province using SRID=42304"
STATUS DEFAULT
CLASS
NAME "Countries"
COLOR 255 0 0
END
END
以下是在上述连接中加密密码的步骤:
生成加密密钥(请注意,此密钥不应存储在Web服务器的可访问目录中的任何位置):
msencrypt -keygen "E:\temp\mykey.txt"
生成的密钥文件可能包含如下内容:
2137FEFDB5611448738D9FBB1DC59055
使用生成的密钥加密连接的密码:
msencrypt -key "E:\temp\mykey.txt" "iluvyou18"
它在命令行返回加密的密码(您将在一秒钟内使用它):
3656026A23DBAFC04C402EDFAB7CE714
使用“ms_encryption_key”环境变量编辑 Mapfile 以确保找到“mykey.txt”。map对象内的config参数可用于在mapfile内设置环境变量:
MAP
...
CONFIG "MS_ENCRYPTION_KEY" "E:/temp/mykey.txt"
...
END #mapfile
修改层的连接以使用生成的密码密钥,确保在密钥周围使用“”括号:
CONNECTION "host=127.0.0.1 dbname=gmap user=postgres
password={3656026A23DBAFC04C402EDFAB7CE714} port=5432"
完成!尝试使用 shp2img 实用工具!