AccesS密码的打击

C# HMACSHA256 消息认证码:原理、实现与API签名实战 消息认证码(MAC)是确保数据完整性和来源真实性的核心技术,它通过结合加密哈希函数与共享密钥,为消息生成一个唯一的“指纹”。其核心原理在于,发送方使用密钥和消息计算认证码,接收方用相同密钥和消息重新计算并比对,任何对消息或密钥的篡改都会导致验证失败。这项技术的核心价值在于,它在不加密数据本身的前提下,高效地实现了防篡改和身份验证,完美契合API通信、数据交换等场景对数据可信赖性的要求。HMAC(基于哈希的消息认证码)是MAC的一种主流实现,它利用SHA256等安全哈希算法构建,在C#开发中,通过System 阅读详情

 

type
  TForm1 = class(TForm)
    Button1: TButton;
    Chk2000: TCheckBox;
    Edit1: TEdit;
    Button2: TButton;
    Edit2: TEdit;
    OpenDialog1: TOpenDialog;
    Button3: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
  private
  procedure WMDropFiles(var Msssage: TMessage); message WM_DROPFILES ;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

CONST
  xorString:array[0..12]of byte=
    ( $86, $FB, $EC, $37,
      $5D, $44, $9C, $FA,
      $C6, $5E, $28, $E6,$13 );
  xorString2:array[0..20]of byte=
    ( $D3, $EC, $08, $9C,
      $93, $28, $46, $8A,
      $01, $7B, $A0, $DF,
      $22, $13, $9A, $B1,
      $61, $79, $C7, $7C,$5B);

procedure TForm1.WMDropFiles(var Msssage: TMessage);
begin
  ShowMessage('Hello Boy');
end;
procedure TForm1.Button1Click(Sender: TObject);


VAR
passBuff: array[0..14]of byte;
pass: array[0..14]of char;
passBuff2: array[0..40]of byte;
pass2: array[0..20]of char;
B: Byte;
F:TFileStream;
I,j:integer;

begin
  file://ShowMessage(Char($86)+ Char($F8)+Char($EC))
  if not FileExists(Edit1.Text) then
   begin
     MessageBox(Handle,'你是MM呀','我好种意你呀',MB_OK + MB_ICONINFORMATION);
     exit;
   END;
  F :=  TFileStream.Create(Edit1.text,fmOpenRead);
  if not Chk2000.Checked then
  begin
    Try
      F.Seek($42,soFromBeginning);
      F.Read(PassBuff,14);
      for i := 0 to 13 do
      begin
        B := PassBuff[i] XOR xorString[i];
        Pass[i] := Char(B);
      end;
      pass[Sizeof(Pass)-1] := #0;
      Edit2.Text := StrPas(Pass);
      finally
    f.Free;
    end;
  end
  else
  begin
     try
     F.Seek($42,soFromBeginning);
     F.Read(passBuff2,40);
     I:=0;j:=0;
     while I<40 do
     begin
        B := passBuff2[i] xor xorString2[j];
        pass2[j]:=char(B);
        inc(i,2);inc(j);
     end;
    pass2[sizeof(pass2) - 1] := #0;
    Edit2.Text:=StrPas(Pass2);
   finally
    f.Free;
   end;
  end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
    Edit1.text := OpenDialog1.FileName;
end;

 


procedure TForm1.Button3Click(Sender: TObject);
VAR
passBuff: array[0..14]of byte;
pass: array[0..14]of char;
passBuff2: array[0..40]of byte;
pass2: array[0..20]of char;
B: Byte;
F:TFileStream;
I,j:integer;
s: string;
begin
  file://ShowMessage(Char($86)+ Char($F8)+Char($EC))
  if not FileExists(Edit1.Text) then
   begin
     MessageBox(Handle,'你是MM呀','我好种意你呀',MB_OK + MB_ICONINFORMATION);
     exit;
   END;
  F :=  TFileStream.Create(Edit1.text,fmOpenWrite);
  if not Chk2000.Checked then
  begin
    Try
      FillChar(Pass,14,#0);
      s := EdIt2.Text;
      StrCopy(@Pass,Pchar(Trim(s)));
      for i := 0 to 13 do
      begin
        B := Byte(Pass[i]);
        PassBuff[i] := xorString[i] xor B;
      end;
      PassBuff[13] := $B6;
      F.Seek($42,soFromBeginning);
      F.Write(PassBuff,14);
      finally
    f.Free;
    end;
  end
  else
  begin
     try
     F.Seek($42,soFromBeginning);
     F.Read(passBuff2,40);
     I:=0;j:=0;
     while I<40 do
     begin
        B := passBuff2[i] xor xorString2[j];
        pass2[j]:=char(B);
        inc(i,2);inc(j);
     end;
    pass2[sizeof(pass2) - 1] := #0;
    Edit2.Text:=StrPas(Pass2);
   finally
    f.Free;
   end;
  end;


end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  file://if length(Edit1.text) >= 13 then Key := #0;
end;

end.

基于java+Socket+sqlserver的油液远程监控系统软件设计 本系统设计的方案为C/S模式,在主控端电脑上安装服务器端程序,在被监控端电脑上安装客户端程序。该系统的控制过程是先在主控端电脑上执行服务器程序,在命令收发过程中,主控端向被监控端配置的UDP端口发送命令,该命令是一个控制命令,要求被监控端来连接其开启的TCP端口和要求被监控端执行的操作,如果被监控端监听到该UDP命令,主动开启TCP端口向主控端发送连接请求。然后接收在这个位图上的鼠标事件和键盘事件,并把鼠标位置(位图上的坐标换算成对应的屏幕上的坐标)和键值送到被监控端上,在被监控端上重演同样的事件。 阅读详情

相关推荐

socket编程:socket()函数详解

文章目录1. 什么是socket?1.1 意义1.2 本质1.3 应用1.4 结论2. socket() 函数参数介绍2.1 参数1:int af2.2 参数2:int type2.3 参数3:int protocol3. socket()函数返回值介绍 1. 什么是socket? 套接字函数创建一个绑定到特定传输服务提供者的套接字。 将底层复杂的协议体系,执行流程,进行了封装,封装完的结果,就是一个SOCKET了,也就是说,SOCKET是我们调用协议进行通信的操作接口。 1.1 意义 将复杂的协议过程与我

超级大洋葱的博客 2万+

打击带来的成长

  最近做了一个 银行管理系统,实现的功能主要是:用户登录,管理员登陆,管理员的查询冻结操作,用户取款,存款,注销,转账,查询信息,查询交易,新用户注册,修改信息,通俗的说就是围绕添,删,改,查,进行操作。  老师让用三层,做成B/S系统。期限是两天,我们所有人都用异样的眼光看着他,不相信自己耳朵听到的时间。  需要说一下的是,三层我是稀里糊涂,B/S我们刚学习了两个星期。  带着诸多

tianyewj的专栏 593

纯DOS下的 TCP/IP编程

DOS下的SOCKET编程 这是我摘抄的别人的心得,呵呵。 为了实现DOS机与PC机之间的TCP/IP通信,必须找到相关控制SOCKET的库。本来有个国外网站www.wattcp.com免费提供WATTCP库了实现DOS中的TCP/IP协议栈,但是它却不提供说明文档,所以这块鸡肋先放哪吧。 话说那个写心得的又到一个叫ERTOS的库,是从WATCP库拓展来的(不仅实现了T

鹏程万里--扬帆起航 3889

打击好

<br />大家好

ysjnkj的专栏 240

C++ socket编程基础一(概念和常用API)

SOCKET一种进程通讯的方式,简言之就是调用这个网络库的一些API函数就能实现分布在不同主机的相关进程之间的数据交换.   SOCKET几个定义概念:   一、是IP地址: IP Address我想很容易理解,就是依照TCP/IP协议分配给本地主机的网络地址,就向两个进程要通讯,任一进程要知道通讯对方的位置,位置如何来确定,就用对方的IP 二、是端口号: 用来标识本地通讯进程,方便

蚂蚁的坚持 4122

C++中socket编程基础详解

<br />对于SOCKET在这里我不想究其历史,我只想说其时它是一种进程通讯的方式,简言之就是调用这个网络库的一些API函数就能实现分布在不同主机的相关进程之间的数据交换.<br />SOCKET中首先我们要理解如下几个定义概念:<br />  一是IP地址:IP Address我想很容易理解,就是依照TCP/IP协议分配给本地主机的网络地址,就向两个进程要通讯,任一进程要知道通讯对方的位置,位置如何来确定,就用对方的IP<br />  二是端口号:用来标识本地通讯进程,方便OS提交数据.就是说进程指定了

byrsongQQ的专栏 1万+

降维(二)----Laplacian Eigenmaps

降维系列: 降维(一)----说说主成分分析(PCA)的源头降维(二)----Laplacian Eigenmaps ---------------------                   前一篇文章中介绍了主成分分析。PCA的降维原则是最小化投影损失,或者是最大化保留投影后数据的方差。在谈到其缺点的时候,我们说这一目标并不一定有助于数据的分类,换句话说,原本在高维空间中属

blog 2万+

一个用Java编写的简单聊天室 用来学习Socket编程

/* *Create on Jan 29, 2009 *Copyright 2009 Quasar20063501.All Rights reserved * *weizhaozhe */package client;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.eve

魏照哲的专栏 1万+

降维打击 Dimensionality reduction attack

转自:ttps://www.jianshu.com/p/b943644ac3f1 *本文先结合一些案例解释在商业市场等战场上“降维打击”的含义和应用原理,然后进一步讨论“降维”之说对于日常问题分析的价值,挖掘“降维”式的思维模型。读过《三体》有助于形象化理解,但本文完全不要求有《三体》知识背景。 古有赵普半部论语治天下,现在一些公司恨不得一本《三体》战披靡。所谓的“降维打击”...

weixin_30572613的博客 742

关于socket编程相关知识点总结

  Socket接口是TCP/IP网络的API。流式Socket(SOCK_STREAM)是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。   为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。  关于socket编程的主要函数可以参考http://docs.hu

cumirror的专栏 1249

socket编程——局域网聊天

这是前段时间写的一个局域网多对多聊天系统,使用socket编程和TCP/IP协议进行数据传输。总体就两个部分,一个是客户端,还有一个是服务器端。其实这个系统编写起来还是很容易的。我这个小程序的亮点就在于: 1、有一个登陆界面; 2、登陆之后进入聊天界面后会有一个服务器的欢迎语句。 在这里给出程序的源代码。 package org.zsl.server; //服务器部分 import

在路上 3487

Java Socket编程实战:从阻塞模型到高并发健壮服务

Socket是网络通信的底层基石,本质是基于TCP协议的双向连接机制,其核心在于连接管理、流式读写、超时控制与异常处理。理解bind、accept、readLine等操作背后的内核行为(如TIME_WAIT状态、backlog队列、Nagle算法)是避免‘Address already in use’、无限阻塞、粘包断连等高频问题的关键。技术价值体现在轻量可控、调试直观、无框架依赖,适用于嵌入式网关、设备心跳、内部工具等场景。本文聚焦java.net原生API,覆盖端口复用、连接超时、KeepAlive保活

conghuang7343的博客 565

Socket编程,自己电脑做服务端和客户端

这个问题虽然简单但是感触真的很深刻。。。。。人心惨淡啊,哈哈哈哈,度娘上找不到答案,各种途径大神都潜水,这就是渣渣的遭遇,努力吧骚年。   相信直接编写简单的Socket客户端和Socketserver服务端很多人都会写,并且发现代码没什么错误,只是自己不知道运行出错原因在哪里。这里我就总的把我遇到的问题说一下,大神请过,像我一样的渣渣可以借鉴。      我是打算编写一个简单的程序实现客户端

哦绝影 1万+

网络编程二(套接字Socket、客户端和服务端通信问题)

在客户机/服务器工作模式中,在Server端,要准备接受多个Client端计算机的通信。为此,除用IP地址标识Internet上的计算机之外,另还引入端口号,用端口号标识正在Server端后台服务的线程。端口号与IP地址的组合称为网络套接字(socket)。 Java语言在实现C/S模式中,套接字分为两类: 在Server端,ServerSocket类支持底层的网络通信; 在Clie

sxb956347789的博客 4718

【网络编程入门】使用socket在Linux下实现即时通信软件

使用C++在Linux下实现的即时通信软件 在前一篇文章中讲到了如何使用winsock:【网络编程入门】在C++中使用Windows TCP Sockets,也算是勉强入门了吧,接下来自己写一下在Linux下的网络编程,代码架构参考了实验楼的C++ 实现即时通信软件 使用C++在Linux下实现的即时通信软件 介绍 进程、端口、Socket、IP地址 字节顺序 介...

并非所有流浪者都迷失了自我 2169

Socket编程应用--及时聊天+自动回复机器人

Socket编程的应用Socket介绍Server端和Client端发送信息(一发一收,交替实行)多线程实现即时聊天自动回复机器人(练习JDBC+Socket) Socket介绍 套接字使用TCP提供了两台计算机之间的通信机制。 客户端程序创建一个套接字,并尝试连接服务器的套接字。 当连接建立时,服务器会创建一个 Socket 对象。客户端和服务器现在可以通过对 Socket 对象的写入和读取来...

feat_ct的博客 2264

Java 基于Tcp/ip连接的多人交互聊天室(Socket编程)

项目说明: 本项目由三个.java文件(Client.java、Server.java、UI.java)和一个.jpg图片文件组成UI.java是负责界面的构成文件。本聊天室的界面极其简单。主要分为两个界面:第一个是启动时需要登陆的界面如下: 输入名字进去以后就可以直接聊天 这个聊天室相当于群聊,每一个登陆进去的人发的信息,其他人都会收到。 使用指南:1.运行Server.java文

风吹山岗的博客 9982

Socket实现文件传输

Socket实现文件传输 1.客户端 通过new Socket("ip",port)连接服务端 创建文件输入流读取文件 创建返回套接字的输出流 写入文章名称,长度等属性 读取、写入文章操作 关闭流 package com.company; import javax.xml.crypto.Data; import java.io.*; import java.net.Socket...

小囡的成长 2万+
上一篇: 移动没有CAPTION的窗体
下一篇: 在Delphi中实现任意形状的窗体
programlover
博客等级 码龄26年 1粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值