首页 > 数据库 >[20240219]建立完善sql_idx.sh脚本.txt

[20240219]建立完善sql_idx.sh脚本.txt

时间:2024-02-19 20:44:38浏览次数:36  
标签:idx 16 20240219 text tr echo v2 sh sql

[20240219]建立完善sql_idx.sh脚本.txt

--//再次遇到sql_id的计算问题,该语句已经dba_hist相关视图无法查询.
--//w3wp.exe 程序里面的sql语句脚本带有^M符号(dos文本格式),执行时并不过滤.
--//而我的计算sql_id脚本计算时过滤掉^M符号,导致计算错误.

--//我修改完善如下:(注里面的^M在vim for windows下按ctrl+Q ctrl+M
实现,在vim for linux下按ctrl+V ctrl+M
实现,))
#! /bin/bash
# calcucate sql_text of full_hash_value(16),hash_value(10),sql_id(32).
# argv1 sql statement or sql of text file
# argv2 flag: 0= sql statement 1=sql of text file  2=sql of text file (reservation ^M)

odebug=${ODEBUG:-0}
oflag=${2:-0}

if [ $oflag -eq 0 ]
then
    sql_text=${1}'\0'
fi

if [ $oflag -eq 1 ]
then
#  sql_text="$( cat $1 | dos2unix | sed '$s/;\s*//')"'\0'
   sql_text="$( cat $1 | sed "s/
$//" | sed '$s/;\s*//')"'\0'
fi

if [ $oflag -eq 2 ]
then
   sql_text="$( cat $1 | sed '$s/;\s*//')"'\0'
fi

v1=$(echo -e -n "$sql_text" | md5sum | sed 's/  -//' | xxd -r -p | od -t x4 |  sed   -n  -e 's/^0\+ //' -e 's/ //gp' | tr 'a-z' 'A-Z')
v2=${v1:(-16):16}
v3=${v2:(-8):8}
# v2=$(echo "obase=16;ibase=16; $v1 % 10000000000000000" | bc| tr -d '\\\r\n')
# v3=$(echo "obase=10;ibase=16; $v1 % 100000000" | bc| tr -d '\\\r\n')

if [ $odebug -eq 1 ] ; then
        echo v1=$v1 v2=$v2 v3=$v3
fi

echo "sql_text = $sql_text"
echo "full_hash_value(16) = $v1 "
echo "hash_value(10) = $(( 16#$v3 )) "

BASE32=($(echo {0..9} {a..z} | tr -d 'eilo'))
res=''
for i in $(echo "obase=32;ibase=16; $v2" | bc| tr -d '\\\r\n')
do
        res=${res}${BASE32[$(( 10#$i ))]}
done
echo "sql_id(32) = $(printf "%13s" $res | tr ' ' '0')"
echo "sql_id(32) = $(printf "%013s" $res)"

res1=$(eval $(echo "obase=32;ibase=16; $v2" | bc| tr -d '\\\r\n' | awk 'BEGIN{RS=" +"; printf "echo " }/./{printf "${BASE32[$(( 10#%02d))]}", $1}' ))
echo "sql_id(32) = $(printf "%013s" $res1)"


标签:idx,16,20240219,text,tr,echo,v2,sh,sql
From: https://www.cnblogs.com/lfree/p/18021924

相关文章

  • Python Paramiko模块-exec_command() 和 invoke_shell() 两种操作方式
    前言Paramiko是Python语言的一个SSH客户端。可以远程连接Linux服务器,通过python对Linux进行操作,可以实现进行对远程服务器进行下载和上传文件操作。exec_command()操作importparamikossh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAd......
  • 使用VS Code Remote SSH连接上服务器实现远程开发
    1下载VSCODE,Windows版本https://code.visualstudio.com/updates/v1_852安装插件3 配置SSH密钥,上传公钥到服务器4连接成功,直接操作远程目录和文件   远程开发https://code.visualstudio.com/docs/remote/remote-overview https://www.jianshu.com/p/37bbec3788......
  • Sasha and the Casino
    这道题目真的是。。。赛时的时候想完全证明出来发现不行,其实根本不用,这种题目主打的就是一个感性理解,官方题解也没给出证明。。在这道题目卡了1h完大蛋,最后剩20min做D,然而D也只做了30min。。。我们手玩几组样例就会发现,他是想要在任意本金经历了无论多少场(\(≤x\))输之后,下一场赢......
  • Sasha and a Walk in the City
    先写一下官方题解首先原问题有一个很显然的解集:点集中任意两点不存在祖孙关系所以我们令\(f[v]\)表示以\(v\)为根的子树的点集的数目,这些点集中任意两点不存在祖孙关系有如果一个解集中有一个点是另一个点的祖先,我们画出图那么这个点上面的点(包括这些点的分支)是肯定不能选......
  • **SiteServer CMS远程模板下载getshell漏洞导致的黑SEO利用分析**
    前言某日中午,收到上级下发的任务,涉及一代理商客户网站发现异常SQ内容,要求进行溯源分析并找出根本原因。0x01初步分析通过提供的链接(www.xxx.com.cn/2023j19tPLKn2/55151),确认涉及黑帽SEO活动,通过百度搜索进一步验证也证实了这一点。0x02日志分析黑客常常在植入菠菜或非......
  • fastboot flashing unlock
    https://www.realmebbs.com/post-details/1164389059200561152 Byunlockingthebootloader,youwillbeabletoinstallcustomoperatingsystemonthisphone. AcustomOSisnotsubjecttothesameleveloftestingastheoriginalOS. andcancauseyour......
  • 20240219总结
    P9994[YnoiEasyRound2024]TEST_132根号分治。考虑修改操作。如果修改的x数量大于阙值B,那么打上操作次数标记,否则直接各自修改对应的\(y_i\)答案。查询时对于一个y,记录下所有使得xi数量大于B且yi=y的i,这一些贡献是没有加上的。显然xi的数量<=n/B,对于每一个这样的xi快速......
  • Sasha and the Drawing
    比较简单的一道思维题目,毕竟只有800分也是很典型的套路,首先讨论下界,发现每一个正方形最多影响两条对角线,所以可以发现答案的下界然后观察下样例,我们模仿一下样例,按照官方题解的说法,就是"sidecells"指左下和右下的两个正方形然后接下来,官方题解就说两个sidecells是包含两个......
  • Qt 使用QCryptographicHash做简单的数据加密
    在编写程序的时候经常会使用到一些加密的方法,在Qt中,提供了一些常用的加密方法:Md4,Md5,Sha1,Sha224,Sha256,Sha384,Sha512,Sha3_224,Sha3_256,Sha3_384,Sha3_512,如果我们需要使用这些加密方法时,可以直接使用Qt中的QCryptographicHash类进行加密。1#include<QCryptographic......
  • Linux_4 ssh
    title:(在线学习平台)link:(https://www.acwing.com/)cover:(https://cdn.acwing.com/media/activity/surface/log.png)ssh登录作用在开发时,通常会用Terminal通过ssh登录到每个服务器里,打开服务器终端,以进行开发,通常来说,一个服务器会给出如下的几个信息:hostIPpassword......