view <view style="margin-top: 20px; padding: 0 20px;">
<input class="sha-input" placeholder="请输入内容,计算 SHA256" v-model="value" />
</view>
<view style="padding: 20px;">
<view class="result-box">
<view class="result-item">
<text class="result-label">SHA256 Hex:</text>
<text class="result-value">{{sha256HexResult}}</text>
</view>
<view class="result-item" style="margin-top: 10px;">
<text class="result-label">SHA256 Base64:</text>
<text class="result-value">{{sha256Base64Result}}</text>
</view>
</view>
</view>
scriptimport { sha256Hex, sha256Base64 } from '@/uni_modules/xuxiaowei-sha'
const value = ref<string>('1')
const sha256HexResult = ref<string>('')
const sha256Base64Result = ref<string>('')
// 计算 SHA256 值
const calculateSHA256 = () => {
sha256HexResult.value = sha256Hex(value.value)
sha256Base64Result.value = sha256Base64(value.value)
}
// 初始计算
calculateSHA256()
// 监听输入变化,实时计算
watch(value, () => {
calculateSHA256()
})
style.sha-input {
width: 100%;
height: 44px;
border: 1px solid #ddd;
border-radius: 8px;
padding: 0 15px;
font-size: 14px;
background-color: #fff;
}
.result-box {
border: 1px solid #ddd;
border-radius: 8px;
padding: 15px;
background-color: #f9f9f9;
}
.result-item {
width: 100%;
}
.result-label {
font-size: 14px;
color: #666;
margin-bottom: 5px;
display: block;
font-weight: bold;
}
.result-value {
font-size: 14px;
color: #333;
word-break: break-all;
line-height: 1.5;
background-color: #fff;
padding: 10px;
border-radius: 4px;
border: 1px solid #eee;
}