- 浏览: 300168 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
masuweng:
如何给新人机会 -
masuweng:
多sql结果集按列合并新结果报表实现方案 -
Ahe:
赞
坚持长跑方能赢 -
masuweng:
好好好
程序员如何更好的了解自己所做的事情 -
小楠人:
laoguan123 写道楼主好,使用过一些excel导入导出 ...
excell导入导出
在lib中定义加密算法Encription类(接口密文有效时间内生效)。
api定义:
实例化接口:
api的调用:
require 'md5' require 'base64' class Encription class << self def microtime() epoch_mirco = Time.now.to_f; epoch_full = Time.now.to_i; epoch_fraction = epoch_mirco - epoch_full; return epoch_fraction.to_s + ' ' + epoch_full.to_s; end def uc_authcode(string,operation='DECODE',key='',expiry=0) ckey_length=4; key='lzqlzqlzqlzqlzq' if !key||key==''; key=MD5.hexdigest(key); keya=MD5.hexdigest(key[0,16]); keyb=MD5.hexdigest(key[16,16]); keyc=''; if ckey_length>0 if operation == 'DECODE' keyc=string[0,ckey_length]; else keyc=MD5.hexdigest(microtime())[-ckey_length,ckey_length]; end end cryptkey=keya+MD5.hexdigest(keya+keyc); key_length=cryptkey.length; if operation == 'DECODE' string=Base64.decode64(string[ckey_length,string.length-ckey_length]); else t= expiry==0?'0'*10:(Time.now.to_i+expiry).to_s; string=t+MD5.hexdigest(string+keyb)[0,16]+string; end string_length=string.length; result=''; box=(0..255).to_a; rndkey=[]; 0.upto(255) do |i| rndkey[i]=cryptkey[i%key_length]; end j=0; 0.upto(255) do|i| j=(j+box[i]+rndkey[i])%256; tmp=box[i]; box[i]=box[j]; box[j]=tmp; end a=0; j=0; 0.upto(string_length-1) do|i| a=(a+1)%256; j=(j+box[a])%256; tmp=box[a]; box[a]=box[j]; box[j]=tmp; result<<(string[i]^box[(box[a]+box[j])%256]) end if operation == 'DECODE' if((result[0, 10].to_i == 0 || result[0, 10].to_i - Time.now.to_i > 0) && result[10, 16] == MD5.hexdigest(result[26,result.length-26]+keyb)[0, 16]) return result[26,result.length-26]; else return ''; end else #return keyc+Base64.encode64(result).sub('=', '').chomp(); return keyc+Base64.encode64(result); end end end #class << self end #class Simulation
api定义:
class TransforInfApi < ActionWebService::API::Base api_method :transfor_inf, :expects=>[{:user_name=>:string},{:password=>:string},{:nickname=>:string},{:regip=>:string}], :returns=>[:int] end
实例化接口:
class TransforInfController < ApplicationController wsdl_service_name 'TransforInf' web_service_scaffold :invoke web_service_api TransforInfApi web_service_dispatching_mode :direct def transfor_inf(username,password,nickname,regip) user_transfor = Encription.uc_authcode(username,'DECODE','',340) password_transfor = Encription.uc_authcode(password,'DECODE','',340) nick_name_transfor = Encription.uc_authcode(nickname,'DECODE','',340) regip_transfor = Encription.uc_authcode(regip,'DECODE','',340) return -7 if (user_transfor=='' || password_transfor=='' || nick_name_transfor=='' || regip_transfor=='') user = User.find_by_login(user_transfor) if !user @user = User.new @user.login = user_transfor @user.password = password_transfor @user.nickname = nick_name_transfor @user.regip = regip_transfor @user.save return @user.id elsif user return -3 else end end end
api的调用:
for user in @users username = ActionWebService::Client::Soap.new(TransforInfApi,"http://127.0.0.1:5000/transfor_inf/api") user_name=user.login @user=User.find_by_login(user_name) password=@user.password nickname=@user.nickname regip="192.168.0.1" username.transfor_inf(user_name,password,nickname,regip) end
发表评论
-
git仓库创建
2020-09-04 15:33 705推送现有文件夹 cd existing_folder git ... -
puma高并发
2020-08-19 09:31 471nginx突发大量502报错 top看一下,cpu的占用并不高 ... -
searchkick
2019-04-10 11:30 0# 通用查询块(条件) def general_ ... -
导入线下excell业务数据按权重匹配线上数据
2019-03-07 11:00 885业务场景:(系统间还没有接口对调,订单号暂时需要线下处理) 线 ... -
两对象同时映射一对一和一对多
2019-02-20 10:14 831class Kpi::Team < Applicat ... -
ruby一些类加载方式
2018-12-21 10:12 563require_dependency 'order/sco ... -
基于ruby的gem remotipart的异步上传文件
2018-12-21 10:11 530针对某一对象保存实例化之前,异步上传图片保存。 gem ' ... -
基于html2canvas的长图分享
2018-12-21 10:11 1155<span class="ui label ... -
rails处理上传读取excell&生成excell
2018-12-20 14:15 965gem 'spreadsheet' gem 'roo', ... -
基于ruby Mechanize的爬虫
2018-12-20 13:09 664def self.sang_carwler ... -
一些常用加密方式
2018-12-20 13:02 728sign = OpenSSL::Digest::SHA256. ... -
ruby 调用restful接口示例
2018-12-20 12:02 924链接参数中添加token def self.query_p ... -
rails错误日志记录
2018-12-19 14:41 755Rails中对日志的处理采用的是“消息-订阅”机制,各部分组件 ... -
railsAPI接收Base64文件
2018-12-18 11:05 1033tmp_dir = " ... -
ruby 调用savon接口示例
2018-12-18 10:51 1011例子一 module Api module Aob ... -
关于国际商城现货展示与购物车的费用设计
2018-11-15 18:34 439关于国际商城现货展示 ... -
基于多线程的全局变量
2018-10-31 19:50 1156def current_nation def ... -
hash最小值过滤算法
2018-10-31 09:52 1084[["数量","包装" ... -
阿里云裸机部署rails运用
2018-10-08 20:33 1381登录阿里云后首先 sudo apt-get update a ... -
打包订单单据发给货代
2018-09-11 15:43 1179pdf&excell&png # rend ...
相关推荐
例如,某些Web服务可能使用加密算法或数据类型不被VC6.0支持。在这种情况下,可能需要升级编译器或寻找替代方法。 7. **性能优化**:虽然通过SOAP调用Web服务提供了跨平台兼容性,但其性能可能不如现代的RESTful ...
javax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。 javax.xml.ws.http 该包定义特定于 HTTP 绑定的 API。 javax.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。 javax.xml.ws.spi 该包定义用于 ...
javax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。 javax.xml.ws.http 该包定义特定于 HTTP 绑定的 API。 javax.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。 javax.xml.ws.spi 该包定义用于 JAX...
此外,安全设置的匹配也至关重要,比如加密算法和证书的使用。 7. **调试与测试**: 调试跨平台的Web服务调用可能需要特殊的工具,如SOAP UI,它可以模拟客户端请求,帮助开发者检查和调试消息交换。同时,确保在...
javax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。 javax.xml.ws.http 该包定义特定于 HTTP 绑定的 API。 javax.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。 javax.xml.ws.spi 该包定义用于 JAX...
3. **配置CXF**:在CXF的配置文件(如cxf.xml或Spring配置文件)中,需要设置安全策略,包括启用WS-Security,指定使用的加密算法、证书路径等。 4. **服务端配置**:在服务端,我们需要配置服务端的证书,以及如何...
Java 6的安全模型也得到了强化,包括新的Policy API和更强的加密算法支持,增强了应用程序的安全性。 七、Web服务 Java SE 6.0支持SOAP和RESTful Web服务,JAX-WS和JAX-RS为开发Web服务提供了强大的工具。 八、...
javax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。 javax.xml.ws.http 该包定义特定于 HTTP 绑定的 API。 javax.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。 javax.xml.ws.spi 该包定义用于 ...
常见的加密算法有AES(高级加密标准)、DES(数据加密标准)等。 6. **SOAP(简单对象访问协议)**:SOAP是一种基于XML的消息传递协议,用于在Web服务中交换结构化和类型化的信息。在这个项目中,Java和PHP之间通过...
6. **依赖 JAR 包**:压缩包中的 JAR 文件包含了 CXF 框架和其他必要的库,如 XML 处理、加密算法支持等。确保这些库被正确引入到项目中,是成功运行 WebService 的关键。 7. **测试与调试**:使用 CXF 提供的测试...
2. **加密技术**:使用对称加密或非对称加密算法对SOAP消息进行加密处理,以保护消息内容不被未授权方窃取。常见的加密算法包括AES、RSA等。 #### 安全机制设计与实现 在实际应用中,为了进一步提高安全性,通常会...
- **安全配置**:根据需求,配置XFireWSS以启用安全特性,如添加证书、设置加密算法等。 - **调用服务**:实例化客户端生成的类,并通过其方法调用服务器端的服务。 6. 示例代码: - 服务器端通常会创建一个服务...
javax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。 javax.xml.ws.http 该包定义特定于 HTTP 绑定的 API。 javax.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。 javax.xml.ws.spi 该包定义用于 JAX...
1. 握手协议:客户端和服务器端通过SSL握手协议建立连接,确定加密算法、交换会话密钥等。 2. 身份验证:服务器通常会向客户端发送其数字证书,证明其身份。证书由受信任的第三方证书颁发机构(CA)签名,包含服务器...
javax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。 javax.xml.ws.http 该包定义特定于 HTTP 绑定的 API。 javax.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。 javax.xml.ws.spi 该包定义用于 ...
4. **加密**:数据保护手段,确保信息在传输过程中不被非法获取,通常通过SSL/TLS或者特定的加密算法实现。 5. **证书**:可能指的是数字证书,用于验证服务器的身份,是SSL/TLS连接的重要组成部分。 在【压缩包子...
javax.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。 javax.xml.ws.http 该包定义特定于 HTTP 绑定的 API。 javax.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。 javax.xml.ws.spi 该包定义用于 ...