1.7-22:紧急措施

本文介绍了一种在数据泄露情况下,如何利用邮件地址查找并安全修改共享邮箱注册的多个网站账号密码的方法。策略涉及将小写和大写字母互换,保留非字母字符。

总时间限制: 

1000ms

内存限制: 

65536kB

描述

近日,一些热门网站遭受黑客入侵,这些网站的账号、密码及email的数据惨遭泄露。你在这些网站上注册若干账号(使用的用户名不一定相同),但是注册时使用了相同的email。你此时拿到了那份泄露的数据,希望尽快将自己的密码更改。策略如下:根据email找到你的用户名和密码,然后更改密码。更改的规则为:小写和大写交换,非字母字符保持不变。

输入

第一行为你的email地址,长度不超过50个字符且只包含字母、数字和‘@’符号。
第二行为账号数N,N(0 < N < 10000)。
接下来N行,每行表示一个账号,格式为:
用户名 密码 email
它们之间用单个空格分开。用户名、密码、email均不含空格,且长度不超过50个字符。

输出

有若干行,每行为你的一个账号,包括:你的账号,修改后的密码(之间用单个空格分隔)。
如果没有你的账号,则输出empty。

样例输入

样例输入1:
abc@pku.edu.cn
5
helloKitty iLoveCats abc@pku.edu.cn
2012 maya2012 cplusplus@exam.com
KittyCat 5iKitty abc@pku.edu.cn
program password teacher@exam.com
whoAmi Feb.29$ abc@pku.edu.cn

样例输入2:
abc@pku.edu.cn
1
2012 maya2012 cplusplus@exam.com

样例输出

样例输出1:
helloKitty IlOVEcATS
KittyCat 5IkITTY
whoAmi fEB.29$

样例输出2:
empty

来源

医学部计算概论2011年期末考试(谢佳亮)

代码

#include<iostream>
#include<cstring>
#include<iomanip>
#include<cstdio>
#include<string>
using namespace std;
char my_email[60];
int n;
char name[60],password[60],email[60];
bool flag;
int main()
{
	scanf("%s",my_email);
	scanf("%d\n",&n); 
	for(int i=1;i<=n;i++)
	{
		scanf("%s %s %s",name,password,email);
		if(strcmp(my_email,email)==0)
		{
			flag=true;
			int len=strlen(password);
			for(int j=0;j<len;j++)
			{
				if(password[j]>='a'&&password[j]<='z')
				{
					password[j]=password[j]-'a'+'A'; 
				}
				else if(password[j]>='A'&&password[j]<='Z')
				{
					password[j]=password[j]-'A'+'a';
				}
				
			}
			printf("%s %s\n",name,password);
			
		}
		
	}
	if(flag==false)
	{
		cout<<"empty";
	}
}

<think>我们正在分析UC3845芯片在特定引脚电压下的工作状态及占空比计算。用户提供了1脚(COMP)电压为6V,2脚(INV)电压为1.7V的情况。 首先,回顾UC3845的关键特性: - 2脚(INV)是误差放大器的反相输入端,通常与内部2.5V基准电压进行比较。 - 1脚(COMP)是误差放大器的输出端,用于连接补偿网络。 - 占空比由1脚电压(Vcomp)决定,具体关系为: $$D = K \cdot (V_{comp} - 0.7)$$ 其中,$K$ 约为14.3%/V(即每伏特14.3%的占空比),且占空比D被限制在0%到50%之间(UC3845特有的限制)。 现在分析用户提供的数据: - 1脚电压(Vcomp) = 6V - 2脚电压(Vinv) = 1.7V 根据误差放大器的特性,正常情况下,2脚电压(Vinv)应该被调节到接近内部基准电压2.5V(因为误差放大器会试图使反相输入端和同相输入端相等,同相输入端在内部被设定为2.5V)。但这里Vinv=1.7V,远低于2.5V,这显然是不正常的。 因此,我们需要分两步分析: 1. 引脚电压是否正常? 2. 占空比如何计算? ### 一、引脚电压分析 1. **2脚(INV)电压1.7V**: - 正常工作时,2脚电压应稳定在2.5V附近(因为外部电阻分压网络会将输出电压分压到2.5V,与内部基准比较)。如果2脚电压为1.7V,说明: - 输出电压可能偏低(低于设定值),导致分压后低于2.5V。 - 或者分压电阻网络出现异常(如电阻值变化)。 - 或者反馈环路出现故障(如光耦、TL431等损坏)。 2. **1脚(COMP)电压6V**: - 误差放大器的输出端(1脚)电压范围通常受限于电源电压和内部电路。在UC3845中,误差放大器的输出范围大约在0.3V到Vcc-2V(Vcc为芯片供电电压,通常为12-25V)。因此,6V在正常范围内(假设Vcc在12V以上)。 - 但是,1脚电压6V对应的占空比是多少?我们根据公式计算: $$D = K \cdot (V_{comp} - 0.7) = 14.3\% \times (6 - 0.7) = 14.3\% \times 5.3 \approx 75.79\%$$ - 然而,UC3845的最大占空比被限制在50%。因此,尽管1脚电压为6V,计算出的占空比超过50%,实际占空比会被限制在50%。 3. **矛盾点**: - 正常情况下,当2脚电压低于2.5V(表示输出电压低于设定值)时,误差放大器会提高1脚电压(COMP),从而增加占空比,以提升输出电压。 - 但是,这里1脚电压已经达到6V,占空比已经被限制在50%(最大值),而2脚电压仍然只有1.7V(远低于2.5V),说明电源系统存在严重问题: - 可能的原因包括:输出过载或短路,变压器设计问题,功率开关管故障,或者反馈环路断开(导致误差放大器开环,输出饱和)。 ### 二、占空比计算 根据上述分析,实际占空比将受到最大占空比限制: - 计算值:$D_{calc} = 14.3\% \times (6-0.7) = 75.79\%$ - 实际占空比:$D_{actual} = \min(50\%, D_{calc}) = 50\%$ 但是,由于2脚电压异常(1.7V),系统处于非正常状态,实际占空比可能被限制在50%,但输出电压仍无法达到设定值。 ### 三、结论 1. **引脚电压异常**: - 2脚电压1.7V(正常应为2.5V左右)表明反馈环路检测到输出电压过低。 - 1脚电压6V表明误差放大器已经输出最大值(试图将占空比调到最大),但受限于芯片的占空比限制(50%),实际占空比只能达到50%。 2. **故障原因推测**: - **输出过载或短路**:导致即使占空比最大,输出电压仍无法上升。 - **输入电压过低**:如果输入电压太低,即使占空比50%也无法提供足够的能量。 - **反馈环路故障**:如分压电阻开路、TL431损坏、光耦失效等,导致2脚电压无法反映真实输出电压。 - **功率级故障**:如开关管损坏、变压器匝间短路、输出整流二极管损坏等。 3. **建议措施**: - 检查输出端是否短路或过载。 - 测量输入电压是否正常。 - 检查反馈环路(分压电阻、TL431、光耦等)是否正常。 - 检查功率开关管、变压器、输出二极管等功率器件。 ### 四、附加说明:UC3845与UC3842的区别 用户提供的引用中提到了UC3842(与UC3845同系列),注意: - UC3842的最大占空比约为100%,而UC3845的最大占空比被限制在50%[^2]。 - 因此,在同样的1脚电压下,UC3842可以输出更高的占空比(最高接近100%),而UC3845则被限制在50%。 所以,在同样的故障情况下,如果使用UC3842,占空比可能达到75.79%,从而可能使输出电压升高(如果故障不是短路的话),但这里使用UC3845,占空比被限制,所以输出电压无法提升。 综上所述,当前芯片状态异常,需要排查故障。 --- ### §§相关问题§§ 1. 如何区分UC3845的故障是由于输出短路还是反馈环路开路引起的? 2. UC3845的1脚(COMP)电压超过多少伏时占空比会达到最大值? 3. 在UC3845中,当2脚电压低于2.5V时,为什么1脚电压会上升?其内部误差放大器的具体工作原理是什么? 4. 如何设计UC3845的反馈环路分压电阻以确保输出电压稳定? > 参考资料: > [^1]: UC3845通过误差放大器实现输出电压的精确采样与比较控制。 > [^2]: UC3842/45系列在占空比限制机制上的差异影响电源设计选型。</think>### UC3845芯片1脚6V、2脚1.7V状态分析及占空比计算 #### 一、引脚电压状态判断 1. **2脚(INV)电压1.7V** - **异常状态**:远低于标准参考电压$2.5V$(正常应稳定在$2.5V±0.1V$) - **故障指示**: - 输出电压严重不足(可能低于设定值30%以上) - 反馈分压电阻开路($R_{top}$阻值异常增大) - TL431基准源失效(未提供2.5V基准)[^1] 2. **1脚(COMP)电压6V** - **异常状态**:超过正常范围$0.3V-3.5V$(典型工作值$1.0-3.0V$) - **故障指示**: - 误差放大器饱和(开环工作状态) - 补偿网络失效(1脚RC网络开路) - 输出过载导致极限补偿[^2] > **综合诊断**:系统处于**开环失控状态**,2脚反馈信号丢失导致误差放大器输出饱和(1脚6V),占空比将锁定在极限值。 #### 二、占空比计算 根据UC3845传递特性: $$D = K \cdot (V_{comp} - 0.7) \quad \text{(当 } 0.3V < V_{comp} < 3.5V\text{)}$$ 其中$K \approx 14.3\%/V$,但**1脚6V已超出线性范围**,实际占空比被强制限制: | 条件 | 占空比行为 | 当前状态 | |---------------------|--------------------------|----------| | $V_{comp} < 0.3V$ | $D=0\%$(关断) | ✘ | | $0.3V < V_{comp} < 3.5V$ | $D=14.3\%×(V_{comp}-0.7)$ | ✘ | | $V_{comp} > 3.5V$ | $D=50\%$(最大限制) | ✔ | **实际占空比**: $$\begin{align} \text{因 } V_{comp}=6V > 3.5V \\ \Rightarrow D_{\text{actual}} = 50\% \end{align}$$ #### 三、故障处理建议 1. **优先检查2脚外围电路** - 测量分压电阻$R_{top}/R_{bot}$比值(标准应满足$\frac{R_{bot}}{R_{top}+R_{bot}} = \frac{2.5}{V_{out}}$) - 检查TL431阴极电压(正常$2.5V$)及光耦导通状态 2. **关键测试点**: ```mermaid graph LR A[输出电压] --> B[分压网络] B --> C[2脚电压] C --> D[误差放大器] D --> E[1脚电压] E --> F[PWM比较器] F --> G[占空比] ``` - 若$V_{out}$正常→分压电阻故障 - 若$V_{out}$过低→检查功率级(MOS/变压器/二极管) 3. **紧急恢复措施**: 在2脚-地间并联$10kΩ$电阻临时抬升电压至$2.5V$,观察占空比是否恢复线性调节。 > **设计验证**:正常工作时$V_{comp}$与占空比关系: > $$V_{comp}=2V \Rightarrow D=14.3\%×(2-0.7)=18.6\%$$ > $$V_{comp}=3V \Rightarrow D=14.3\%×(3-0.7)=32.9\%$$ --- ###
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值