分类 技术 下的文章

美军开发了动态密钥管理的加密方法

为了实现动态密钥管理,WHSPR 核心的实验室在美国空军的资助下开发了双硬件软件解决方案:SHAMROCK(独立高保证 MicRO 加密和密钥管理处理器)和 LOCKMA(林肯实验室开放式加密密钥管理架构) 。此后,这些技术已被部署用于保护陆军的小型无人飞行器(UAV)、海军的爆炸物处理机器人以及空军的处理器和任务计算机架构。

WGS84和GCJ02之间的无缝切换

0 条评论 技术 CSS HTML 前端 编程 js 地理坐标 Earth emer



修正一个因在使用不同坐标系(WGS84和GCJ02)地图之间切换导致显示错误地址的bug。
https://github.com/googollee/eviltransform

线索类JS上报快手广告平台

0 条评论 技术 HTML 编程 js PHP API 快手 emer

流程原理:
用户产生行为(点击等)-> 系统在落地页拼接带有callback的url并下发给广告主> 用户产生转化行为
-> 广告主通过用户的手机号与callback匹配 -> 广告主填写回传参数上报给快手

js前端URL特殊字符的转码及PHP解码

0 条评论 技术 CSS HTML 前端 js PHP emer

问题:url传有特殊字符出现丢失,因为特殊字符会被特殊处理
我们先用getUrlParam()函数获取参数,

// 获取链接参数
function getUrlParam(name) {
    //构造一个含有目标参数的正则表达式对象
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
    //匹配目标参数
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]);
    return null; //返回参数值
}

再用encodeURIComponent()函数转码,例如:

//url里边包含@等特殊字符
var url = "https://6.hbibwl.com.cn/wxkf/main.html?pin=U.P0Ky40vy63TnhM65rk@_B9&id=8";
var pin = encodeURIComponent(getUrlParam('pin'));
//打印转码的pin值
console.log(pin);

结果:

U.P0Ky40vy63TnhM65rk%40_B9

PHP解码:

$_POST['pin'] = urldecode($_POST['pin']);
echo $_POST['pin'];

结果:

U.P0Ky40vy63TnhM65rk@_B9

js复制A标签的链接地址

0 条评论 技术 CSS HTML 前端 js emer
function copy(copyId){
    console.log(copyId);
    var url = document.getElementById(copyId).href;
    var cInput = document.createElement('input');
    cInput.value = url;
    document.body.appendChild(cInput);
    cInput.select(); // 选取文本框内容 
    document.execCommand("Copy"); // 执行浏览器复制命令
    alert("复制成功!");
    document.body.removeChild(cInput);
}

CSS最高优先级!important用法详解

0 条评论 技术 CSS HTML 前端 emer

在 CSS 属性值的后面添加 !important,可以提升 CSS 属性的优先级。
例如:

.foo { color:#fff !important;}

此时,无论使用何种级别的选择器,.foo 元素的颜色都是白色。

很多读者对 !important 的认知比较传统,认为 CSS 的优先级就像一个小世界,设置了 !important 之后,这个 CSS 属性就可以在 CSS 世界中“称王称霸”。

实际上,!important 所起的作用不是这样,而是直接将这个 CSS 属性带到另一个更高维度的世界中,而这个“更高维度的世界”就是更高级别的级联层级。

回顾一下级联层级的优先级关系:

1.设置了!important的浏览器内置样式;
2.设置了!important的用户设置的样式;
3.@layer规则中设置的包含!important的样式;
4.开发者设置的包含!important的样式;
5.开发者设置的CSS样式;
6.@layer规则中的CSS样式;
7.用户设置的CSS样式;
8.浏览器内置的CSS样式。

可以看到,无论是浏览器内置的 CSS 样式、用户设置的 CSS 样式、@layer 规则中的 CSS 样式,还是开发者设置的 CSS 样式,其中的 CSS 属性只要被设置了 !important,就会拥有一个只属于其自身的级联层级。并且,如果我们观察得足够仔细,就会发现 !important 的级联层级的提升规则是逆向越级,非常有趣。

PHP实现微信根据订单退款

0 条评论 技术 PHP 微信支付 微信退款 emer

$_config = require('config.php');
$mchid = $_config['mchid']; //微信支付商户号 PartnerID 通过微信支付商户资料审核后邮件发送
$appid = $_config['appid']; //微信支付申请对应的公众号或小程序APPID
$apiKey = $_config['apikey']; //https://pay.weixin.qq.com 帐户设置-安全设置-API安全-API密钥-设置API密钥
$orderNo = $order['order_no']; //商户订单号(商户订单号与微信订单号二选一,至少填一个)
$wxOrderNo = ''; //微信订单号(商户订单号与微信订单号二选一,至少填一个)
$totalFee = number_format($order['total_price']/100,2); //订单金额,单位:元
$refundFee = number_format($order['total_price']/100,2); //退款金额,单位:元
$refundNo = date("YmdHis").rand(100000,999999); //退款订单号(可随机生成)
$wxPay = new WxpayService($mchid,$appid,$apiKey);

$result = $wxPay->doRefund($totalFee, $refundFee, $refundNo, $wxOrderNo,$orderNo);

php实现微信公众号支付

0 条评论 技术 PHP 微信支付 公众号 emer

功能特点
1.根据微信支付最新API开发,相比官方SDK,功能更完善,代码更简洁
2.支持V2和V3两种接口,支持微信支付服务商模式与电商收付通模式
3.支持Composer安装,无需加载多余组件,可应用于任何平台或框架
4.符合PSR标准,你可以各种方便的与你的框架集成
5.基本完善的PHPDoc,可以随心所欲添加本项目中没有的API接口

随机生成地理坐标逆解析并插入redis

0 条评论 技术 Linux ubuntu PHP redis 地理坐标 emer

ubuntu添加ZendStudio桌面快捷方式

0 条评论 技术 APP Linux ubuntu vim PHP emer


1.下载zendstudio.tar.gz直接解压到/opt目录下
2.在终端回到/usr/share/applications目录下用root权限执行vim ZendStudio.desktop,在该文件里写入

 [Desktop Entry]
 Name=ZendStudio
 Comment=zendstudio (v13.6.1)
 Exec=/opt/ZendStudio/ZendStudio
 Icon=/opt/ZendStudio/icon.xpm
 Terminal=false
 Type=Application
 Categories=Development;
 StartupNotify=true
 NoDisplay=false 

保存后,将他复制到桌面,赋予ZendStudio.desktop可执行权限
3.右击该图标,选“允许启动”就行了