| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 566 人关注过本帖
标题:请教java的VFP应用
只看楼主 加入收藏
hwf298
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2024-11-14
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
请教java的VFP应用
有一段java代码,请教各位老师大佬们如何转为在vfp中应用(转换为VFP9.0):
package com.lou.springboot;
import
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Random;

public class SignUtil {
    private SignUtil() {
    }

    public static void main(String[] args) {
         String xRioNonce = getRandomString(32);     //随机数
        String xRioTimestamp = String.valueOf(getCurrentUnixSeconds());    //时间戳
        String signature = getSHA256Str(xRioTimestamp + secretKey + xRioNonce + xRioTimestamp);   //签名

    }

    /*** 获取随机数 */
    private static String getRandomString(int length) {
        String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
        Random random = new Random();
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < length; ++i) {
            int number = random.nextInt(62);
            sb.append(str.charAt(number));
        }
        return sb.toString();
    }

    /*** 获取当前时间戳 */
    private static long getCurrentUnixSeconds() {
        ZoneOffset zoneOffset = ZoneOffset.ofHours(8);
        LocalDateTime localDateTime = LocalDateTime.now();
        return localDateTime.toEpochSecond(zoneOffset);
    }

    /*** 使用SHA-256算法进行加密 */
    private static String getSHA256Str(String str) {
        String encodeStr = "";
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
            messageDigest.update(str.getBytes("UTF-8"));
            encodeStr = byte2Hex(messageDigest.digest());
        } catch (NoSuchAlgorithmException var4) {
            var4.printStackTrace();
        } catch (UnsupportedEncodingException var5) {
            var5.printStackTrace();
        }
        return encodeStr;
    }

    private static String byte2Hex(byte[] bytes) {
        StringBuffer stringBuffer = new StringBuffer();
        String temp = null;
        for (int i = 0; i < bytes.length; ++i) {
            temp = Integer.toHexString(bytes[i] & 255);
            if (temp.length() == 1) {
                stringBuffer.append("0");
            }
            stringBuffer.append(temp);
        }
        return stringBuffer.toString();
    }
}
 

[此贴子已经被作者于2024-11-27 08:44编辑过]

搜索更多相关主题的帖子: import static java private String 
2024-11-27 08:42
hwf298
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2024-11-14
收藏
得分:0 
回复 楼主 hwf298
主要是有两点麻烦老师们能否提供:
1、 /*** 获取随机数getRandomString(32) */:这个请大师们提供VFP代码或相关dll
2、/*** 使用SHA-256算法进行加密 getSHA256Str()*/: 这个请大师们提供相关SHA-256加密的dll
2024-11-27 14:59
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:482
专家分:627
注 册:2013-5-14
收藏
得分:3 
这个VFP就可以直接调用,不用DLL就可以啦,你加我WX我教你如何直接使用VFP调用这些函数,很简单几行代码就搞定了

[此贴子已经被作者于2024-11-27 16:17编辑过]

2024-11-27 16:15
hwf298
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2024-11-14
收藏
得分:0 
回复 3楼 iswith
可否回贴指点下,谢谢

[此贴子已经被作者于2024-11-27 16:51编辑过]

2024-11-27 16:45
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:482
专家分:627
注 册:2013-5-14
收藏
得分:3 
图片附件: 游客没有浏览图片的权限,请 登录注册

我写了一个你看看
2024-11-27 19:30
hwf298
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2024-11-14
收藏
得分:0 
回复 5楼 iswith
老师,这是函数引用,只是这函数怎样用VFP代码实现或怎样借用其它例如dll等。因不懂其它知识,所以问题老师们,谢谢
2024-11-28 08:37
sxzjbb
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:28
专家分:106
注 册:2010-3-25
收藏
得分:5 
时间戳,VFP调用JS可以得到,因为VFP的时间戳没有毫秒数.getRandomString(32) 随机数是什么意思?
getSHA256Str
HASH()声明: Hash(cStringtoHash[, nHashType])
参数: cStringtoHash - 要计算哈希值的明文字符串。2 = SHA256


2024-11-29 10:08
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:482
专家分:627
注 册:2013-5-14
收藏
得分:5 
基本这个prg可以完成任何加密方式,主流加密都有
图片附件: 游客没有浏览图片的权限,请 登录注册
2024-11-29 21:26
wcx_cc
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:392
专家分:1219
注 册:2015-10-2
收藏
得分:5 
vfp有函数 rand()能取随机数,是否能用?如果有 hmac.dll 文件,可以调用试试:
     Declare String HmacSHA256 in hmac.dll String, String
      cKey = 'abc'
      ? HmacSHA256('cData', cKey)
 
2024-12-01 11:38
hwf298
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2024-11-14
收藏
得分:0 
回复 8楼 iswith
已自己另想办法解决,同时谢谢回贴的老师们。
2024-12-02 08:41
快速回复:请教java的VFP应用
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019571 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved